SiMoLib.NET API V4.0.0.1
Loading...
Searching...
No Matches
SiMoPoly.ISpline Interface Reference

Interface to a multidimensional spline function. More...

Public Member Functions

int Calculate ()
 Calculate a spline. The return values are OK = 0, OPTI_ERROR_NOT_LICENSED = -1, OPTI_ERROR_SPLINE_TYPE = -2, OPTI_ERROR_SPLINE_CONDITIONS = -3, OPTI_ERROR_SPLINE_SINGULAR_MATRIX1 = -4, OPTI_ERROR_SPLINE_SINGULAR_MATRIX2 = -5.
bool EvaluateExtrema ()
 Evaluate the minima aMin and maxima aMax values of the 'absolute acceleration', i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic, note that smoothing segments are only taken into account with Linear splines.

Properties

int Dimension [get, set]
 Dimension of the spline function (must be greater than 1).
int NumberOfPoints [get, set]
 Number of base points (must be greater than 1).
SplineTypes SplineType [get, set]
 Spline type, i.e. when Linear the spline consists of straight lines, when Cubic of 3rd order polynomials, when Quartic of 4th order polynomials, when Quintic of 5th order polynomials and when Septimic of 7th order polynomials.
double[] TangentStart [get]
 Tangent vector at the start point of the spline function, i.e. dY/dX, at the start point.
double[] TangentEnd [get]
 Tangent vector at the end point of the spline function, i.e. dY/dX, at the end point.
ISpline1D[] Coordinate [get]
 One dimensional coordinate splines.
double[] aMin [get]
 Minimum 'absolute acceleration' values of the spline and its segments, i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic after applying EvaluateExtrema(), note that smoothing segments are only taken into account with Linear splines.
double[] aMax [get]
 Maximum 'absolute acceleration' values of the spline and its segments, i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic after applying EvaluateExtrema(), note that smoothing segments are only taken into account with Linear splines.
double[] SmoothingDistance [get]
 Smoothing distance at each base point, if set greater than 0.0 by default with linear splines a Quintic segment and with all other splines a Septimic segment is used to smooth the path at this base point.
string LicenseKey [get, set]
 To input a Developer or Developer Deploy license string, when read the hardware or software license is stated.

Detailed Description

Interface to a multidimensional spline function.

Member Function Documentation

◆ Calculate()

int SiMoPoly.ISpline.Calculate ( )

Calculate a spline. The return values are OK = 0, OPTI_ERROR_NOT_LICENSED = -1, OPTI_ERROR_SPLINE_TYPE = -2, OPTI_ERROR_SPLINE_CONDITIONS = -3, OPTI_ERROR_SPLINE_SINGULAR_MATRIX1 = -4, OPTI_ERROR_SPLINE_SINGULAR_MATRIX2 = -5.

◆ EvaluateExtrema()

bool SiMoPoly.ISpline.EvaluateExtrema ( )

Evaluate the minima aMin and maxima aMax values of the 'absolute acceleration', i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic, note that smoothing segments are only taken into account with Linear splines.

Property Documentation

◆ aMax

double [] SiMoPoly.ISpline.aMax
get

Maximum 'absolute acceleration' values of the spline and its segments, i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic after applying EvaluateExtrema(), note that smoothing segments are only taken into account with Linear splines.

◆ aMin

double [] SiMoPoly.ISpline.aMin
get

Minimum 'absolute acceleration' values of the spline and its segments, i.e. the curvature sqrt((d^2Y0/dX^2)^2 + (d^2Y1/dX^2)^2 + (d^2Y2/dX^2)^2), of a up to 3D spline function up to type Quintic after applying EvaluateExtrema(), note that smoothing segments are only taken into account with Linear splines.

◆ Coordinate

ISpline1D [] SiMoPoly.ISpline.Coordinate
get

One dimensional coordinate splines.

◆ Dimension

int SiMoPoly.ISpline.Dimension
getset

Dimension of the spline function (must be greater than 1).

Default value is 2.0

◆ LicenseKey

string SiMoPoly.ISpline.LicenseKey
getset

To input a Developer or Developer Deploy license string, when read the hardware or software license is stated.

◆ NumberOfPoints

int SiMoPoly.ISpline.NumberOfPoints
getset

Number of base points (must be greater than 1).

Default value is 2.0

◆ SmoothingDistance

double [] SiMoPoly.ISpline.SmoothingDistance
get

Smoothing distance at each base point, if set greater than 0.0 by default with linear splines a Quintic segment and with all other splines a Septimic segment is used to smooth the path at this base point.

Default value is 0.0

◆ SplineType

SplineTypes SiMoPoly.ISpline.SplineType
getset

Spline type, i.e. when Linear the spline consists of straight lines, when Cubic of 3rd order polynomials, when Quartic of 4th order polynomials, when Quintic of 5th order polynomials and when Septimic of 7th order polynomials.

Default value is SplineTypes.Cubic

◆ TangentEnd

double [] SiMoPoly.ISpline.TangentEnd
get

Tangent vector at the end point of the spline function, i.e. dY/dX, at the end point.

Default value is 1.0

◆ TangentStart

double [] SiMoPoly.ISpline.TangentStart
get

Tangent vector at the start point of the spline function, i.e. dY/dX, at the start point.

Default value is 1.0