1 #ifndef SimTK_SIMMATH_SPLINE_H_ 2 #define SimTK_SIMMATH_SPLINE_H_ 146 assert(x.size() == 1);
157 { assert(x.size() == 1);
163 { assert(x.
size() == 1);
185 : referenceCount(1), degree(degree), x(x), y(y) {}
187 assert(referenceCount == 0);
203 #endif // SimTK_SIMMATH_SPLINE_H_ T calcValue(const Vector &x) const override
Alternate signature provided to implement the generic Function_ interface expects a one-element Vecto...
Definition: Spline.h:145
Spline_()
Default constructor creates an empty Spline_ handle; not very useful.
Definition: Spline.h:69
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
Spline_(const Spline_ &source)
Copy constructor is shallow and reference-counted; that is, the new Spline_ refers to the same object...
Definition: Spline.h:73
int getMaxDerivativeOrder() const override
Required by the Function_ interface.
Definition: Spline.h:169
int size() const
Definition: VectorBase.h:396
~SplineImpl()
Definition: Spline.h:186
int getSplineDegree() const
Get the degree of the spline.
Definition: Spline.h:138
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:593
~Spline_()
Destructor decrements the reference count and frees the heap space if this is the last reference...
Definition: Spline.h:91
Spline_< Real > Spline
Provide a convenient name for a scalar-valued Spline_.
Definition: Spline.h:178
T getValue(Real t) const
Definition: Spline.h:189
int getArgumentSize() const override
Required by the Function_ interface.
Definition: Spline.h:167
SplineImpl(int degree, const Vector &x, const Vector_< T > &y)
Definition: Spline.h:184
Spline_(int degree, const Vector &x, const Vector_< T > &y)
Create a Spline_ object based on a set of control points. See SplineFitter for a nicer way to create ...
Definition: Spline.h:64
int degree
Definition: Spline.h:196
const Vector & getControlPointLocations() const
Get the locations (that is, the values of the independent variable) for each of the Bezier control po...
Definition: Spline.h:126
static Real splder(int derivOrder, int degree, Real t, const Vector &x, const Vector &coeff)
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix.
#define OVERRIDE_11
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:267
Vector_< T > y
Definition: Spline.h:198
T calcDerivative(int order, Real x) const
Calculate a derivative of the spline function with respect to its independent variable, at the given value.
Definition: Spline.h:118
Vector x
Definition: Spline.h:197
ELEM max(const VectorBase< ELEM > &v)
Definition: VectorMath.h:251
Spline_ & operator=(const Spline_ &source)
Copy assignment is shallow and reference-counted; that is, after the assignment this Spline_ refers t...
Definition: Spline.h:78
T getDerivative(int derivOrder, Real t) const
Definition: Spline.h:192
int referenceCount
Definition: Spline.h:195
This abstract class represents a mathematical function that calculates a value of arbitrary type base...
Definition: Function.h:51
T calcValue(Real x) const
Calculate the values of the dependent variables at a particular value of the independent variable...
Definition: Spline.h:103
This is the header file that every Simmath compilation unit should include first. ...
This is the implementation class that supports the Spline_ interface.
Definition: Spline.h:182
This class implements a non-uniform Bezier curve.
Definition: Spline.h:52
const Vector_< T > & getControlPointValues() const
Get the values of the dependent variables at each of the Bezier control points.
Definition: Spline.h:132
T calcDerivative(const Array_< int > &derivComponents, const Vector &x) const override
Alternate signature provided to implement the generic Function_ interface expects an awkward derivCom...
Definition: Spline.h:155
T calcDerivative(const std::vector< int > &derivComponents, const Vector &x) const
For the Function_ style interface, this provides compatibility with std::vector.
Definition: Spline.h:161