Monotone spline interpolation class c2 based one-parameter groups of diffeomorphisms (N.V. Osadchenko).
More...
|
bool | Init (const c3d::DoubleVector &pars, const c3d::DoubleVector &vals, bool periodic) |
| Spline initialization. More...
|
|
MbeFunctionType | IsA () const override |
| A type of element.
|
|
MbFunction & | Duplicate () const override |
| Create a copy of the element.
|
|
bool | IsSame (const MbFunction &other, double accuracy=LENGTH_EPSILON) const override |
| Determine whether objects are equal.
|
|
bool | SetEqual (const MbFunction &) override |
| Make equal.
|
|
void | GetProperties (MbProperties &) override |
| Get properties of the object.
|
|
void | SetProperties (const MbProperties &) override |
| Set properties of the object.
|
|
double | GetTMax () const override |
| Get the maximum value of parameter.
|
|
double | GetTMin () const override |
| Get the minimum value of parameter.
|
|
bool | IsClosed () const override |
| Get the closeness of a function.
|
|
void | SetClosed (bool) override |
| Set the closeness of a function.
|
|
double | Value (double &t) const override |
| The value of function for a given t.
|
|
double | FirstDer (double &t) const override |
| The first derivative with respect to t.
|
|
double | SecondDer (double &t) const override |
| The second derivative with respect to t.
|
|
double | ThirdDer (double &t) const override |
| The third derivative with respect to t.
|
|
double | _Value (double t) const override |
| The value of extended function for a given t.
|
|
double | _FirstDer (double t) const override |
| The first derivative of extended function with respect to t.
|
|
double | _SecondDer (double t) const override |
| The second derivative of extended function with respect to t.
|
|
double | _ThirdDer (double t) const override |
| The third derivative of extended function with respect to t.
|
|
void | Explore (double &t, bool ext, double &val, double &fir, double *sec, double *thr) const override |
| Calculate value and derivatives of object for given parameter. More...
|
|
void | Inverse (MbRegTransform *iReg=nullptr) override |
| Change direction.
|
|
double | Step (double t, double sag) const override |
| Calculate a step by the sag for a given parameter t.
|
|
double | DeviationStep (double t, double angle) const override |
| Calculate a step by the angular deviation for a given parameter t.
|
|
double | MinValue (double &t) const override |
| The minimum value of function.
|
|
double | MaxValue (double &t) const override |
| The maximum value of function.
|
|
double | MidValue () const override |
| The middle value of function.
|
|
bool | IsGood () const override |
| Correctness of function.
|
|
bool | IsConst () const override |
| Whether the function is constant.
|
|
bool | IsLine () const override |
| Whether the function is linear.
|
|
void | SetOffsetFunc (double off, double scale) override |
| Shift a function.
|
|
bool | SetLimitParam (double, double) override |
| Set the range of parameter.
|
|
void | SetLimitValue (size_t n, double) override |
| Set the value at the end (1 - at start point, 2 - at end point).
|
|
double | GetLimitValue (size_t n) const override |
| Get the value at the end (1 - at start point, 2 - at end point).
|
|
bool | InsertValue (double x, double y) override |
| Set the value for the parameter t.
|
|
MbFunction * | Trimmed (double t1, double t2, int sense) const override |
| Create a function in part of the function between the parameters t1 and t2 choosing the direction.
|
|
MbFunction * | BreakFunction (double t, bool beg) override |
| Function break by the parameter t, and cut off part of the function: begs == true - save the initial half, beg == false - save the final half.
|
|
MbFunction * | Break (double t1, double t2) const |
| Select a part of a function.
|
|
bool | IsZero (double t, double accuracy=METRIC_REGION) const |
| The presence of a null function value.
|
|
double | GetTMid () const |
| Return the middle of parametric range.
|
|
double | GetParamLength () const |
| The parametric length.
|
|
bool | IsParamOn (double t, double eps) const |
| Whether the parameter belongs to the function domain.
|
|
void | PrepareWrite () const |
| Prepare for writing the registered object.
|
|
virtual bool | IsSimilar (const MbFunction &) const |
| Determine whether objects are similar.
|
|
virtual bool | IsPeriodic () const |
| Periodicity of a closed curve.
|
|
MbeNewtonResult | ArgumentNewton (double value, bool ext, double funcEpsilon, size_t iterLimit, double &t) const |
|
bool | CuttingFunction (SArray< double > ¶ms, bool beginSafe, double eps, RPArray< MbFunction > &cutted) |
| Function break by the parameters: begs == true - save the initial half, beg == false - save the final half.
|
|
virtual void | SetLimitDerive (size_t n, double newValue, double dt) |
| Set the value of derivative at the end (1 - at start point, 2 - at end point).
|
|
virtual double | GetLimitDerive (size_t n) const |
| Get the value of derivative at the end (1 - at start point, 2 - at end point).
|
|
virtual void | GetCharacteristicParams (std::vector< double > &tSpecific, double t1, double t2) |
| Get the parameters of special behaviour on the interval from t1 to t2 (for cos it is Pi*n).
|
|
virtual void | BreakPoints (std::vector< double > &vBreaks, double precision=ANGLE_REGION) const |
| \ ru Определение точек излома функции. The determination of function smoothness break points.
|
|
virtual MbeRefType | RefType () const |
| Registration type (for copying, duplication).
|
|
refcount_t | GetUseCount () const |
| Get count of references (get count of owners of an object).
|
|
refcount_t | AddRef () const |
| Increase count of references by one.
|
|
refcount_t | DecRef () const |
| Decrease count of references by one.
|
|
refcount_t | Release () const |
| Decrease count of references by one and if count of references became zero, then remove itself.
|
|
| TapeBase (RegistrableRec regs=noRegistrable) |
| Constructor.
|
|
| TapeBase (const TapeBase &) |
| Copy-constructor.
|
|
virtual | ~TapeBase () |
| Destructor.
|
|
RegistrableRec | GetRegistrable () const |
| Whether the stream class is registrable.
|
|
void | SetRegistrable (RegistrableRec regs=registrable) const |
| Set the state of registration of the stream class.
|
|
virtual const char * | GetPureName (const VersionContainer &) const |
| Get the class name.
|
|
virtual bool | IsFamilyRegistrable () const |
| Whether the object belongs to a registrable family.
|
|
Monotone spline interpolation class c2 based one-parameter groups of diffeomorphisms (N.V. Osadchenko).
The class describes a spline function, which is built from an increasing set
of parameters and a monotonically increasing / decreasing set of values. The
function guarantees a one-to-one parameter-value match. In this case, the
analytical functions describing the spline in each section are joined together
while maintaining the continuity of the first and second derivatives. (If the
function does not require the second order of continuity, then a monotonic
function can be built using the MbCubicFunction cubic function through the
InitMonotonic initialization). This function can be used as a reparameterization
function. Moreover, if the reparameterizable object has the property of being
closed, then the function can take this property into account, providing also
the second order of continuity through the seam. During initialization, the
function accepts an array of parameters and values that have the same dimension,
regardless of the closure parameter. The reparametrizing function is built in
the form of 3 nested rational functions
y (x) = y1 + (y2-y1) * Fb (Fg (Fb ((x-x1) / (x2-x1)))).
You can learn more about this type of spline here.
http://www.stfi.ru/journal/STFI_2017_03/STFI_2017_03_Osadchenko.pdf