Class xlifepp::Spline#
-
class Spline#
-
abstract Spline class type_, subtype_: C2Spline,_CatmullRomSpline, _BSpline, BezierSpline, Nurbs and _SplineInterpolation, _SplineApproximation degree: degree of polynoms used by spline (called spline degree) controlPoints, knots: internal arrays common to any splines but handling different stuff splinePar_: type of spline parametrization (change the derivatives but not the tangent) yps_, ype_: tangent vector at end points (required by some boundary conditions) (1D) bces_, bce_: boundary condition at start point and end point parameterBounds_: real bounds (a,b) of spline parametrization: parametrization are always set on [0,1] but the spline parametrization functions does the mapping s = a + (b-a)t
Subclassed by xlifepp::BSpline, xlifepp::BezierSpline, xlifepp::C2Spline, xlifepp::CatmullRomSpline, xlifepp::Nurbs
Public Functions
-
void checkBC(SplineBC defBC)#
-
boundary conditions of spline
check boundary condition bcs_, bcse with the following rules bcs_= undef -> bcs_=defBC bcs_!= undef & bce_= undef -> bce_=bcs_ bcs_= periodic | bce_= periodic -> bce_=bcs_=periodic
-
virtual Vector<Point> evaluate(const std::vector<real_t> &ts, DiffOpType d = _id) const#
-
evaluate spline or its derivative at a list of x
-
inline virtual Point evaluate(real_t t, DiffOpType d = _id) const#
-
< evaluate spline or its derivative at x
-
virtual std::multimap<real_t, number_t>::const_iterator locate(real_t t) const#
-
locate parameter interval
-
virtual RealPair parameterBounds() const#
-
return parameter bounds
return parameter bounds same as knot bounds!
-
virtual void print(std::ostream&, bool nocpt = false) const#
-
print utility
Public Members
-
Parametrization *parametrization_#
-
pointer to parametrization if not 0
-
void checkBC(SplineBC defBC)#