10 #ifndef EIGEN_SPLINES_FWD_H 11 #define EIGEN_SPLINES_FWD_H 17 template <
typename Scalar,
int Dim,
int Degree = Dynamic>
class Spline;
19 template <
typename SplineType,
int DerivativeOrder = Dynamic >
struct SplineTraits {};
25 template <
typename _Scalar,
int _Dim,
int _Degree>
26 struct SplineTraits<
Spline<_Scalar, _Dim, _Degree>, Dynamic >
29 enum { Dimension = _Dim };
30 enum { Degree = _Degree };
32 enum { OrderAtCompileTime = _Degree==Dynamic ? Dynamic : _Degree+1 };
33 enum { NumOfDerivativesAtCompileTime = OrderAtCompileTime };
35 enum { DerivativeMemoryLayout = Dimension==1 ? RowMajor : ColMajor };
41 typedef Array<Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime>
BasisDerivativeType;
44 typedef Array<Scalar,Dimension,Dynamic,DerivativeMemoryLayout,Dimension,NumOfDerivativesAtCompileTime>
DerivativeType;
65 template <
typename _Scalar,
int _Dim,
int _Degree,
int _DerivativeOrder >
66 struct SplineTraits<
Spline<_Scalar, _Dim, _Degree>, _DerivativeOrder > :
public SplineTraits< Spline<_Scalar, _Dim, _Degree> >
68 enum { OrderAtCompileTime = _Degree==Dynamic ? Dynamic : _Degree+1 };
69 enum { NumOfDerivativesAtCompileTime = _DerivativeOrder==Dynamic ? Dynamic : _DerivativeOrder+1 };
71 enum { DerivativeMemoryLayout = _Dim==1 ? RowMajor : ColMajor };
74 typedef Array<_Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime>
BasisDerivativeType;
77 typedef Array<_Scalar,_Dim,Dynamic,DerivativeMemoryLayout,_Dim,NumOfDerivativesAtCompileTime>
DerivativeType;
93 #endif // EIGEN_SPLINES_FWD_H A class representing multi-dimensional spline curves.
Definition: Spline.h:35
Array< Scalar, 1, Dynamic > ParameterVectorType
The data type used to store parameter vectors.
Definition: SplineFwd.h:53
Array< _Scalar, _Dim, Dynamic, DerivativeMemoryLayout, _Dim, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition: SplineFwd.h:77
Namespace containing all symbols from the Eigen library.
Definition: AdolcForward:45
Spline< float, 2 > Spline2f
2D float B-spline with dynamic degree.
Definition: SplineFwd.h:81
Spline< float, 3 > Spline3f
3D float B-spline with dynamic degree.
Definition: SplineFwd.h:84
Array< Scalar, Dimension, Dynamic > ControlPointVectorType
The data type representing the spline's control points.
Definition: SplineFwd.h:56
Array< Scalar, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition: SplineFwd.h:41
Array< Scalar, 1, Dynamic > KnotVectorType
The data type used to store knot vectors.
Definition: SplineFwd.h:50
Array< Scalar, Dimension, Dynamic, DerivativeMemoryLayout, Dimension, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition: SplineFwd.h:44
Array< Scalar, 1, OrderAtCompileTime > BasisVectorType
The data type used to store non-zero basis functions.
Definition: SplineFwd.h:38
_Scalar Scalar
Definition: SplineFwd.h:28
Spline< double, 3 > Spline3d
3D double B-spline with dynamic degree.
Definition: SplineFwd.h:90
Array< Scalar, Dimension, 1 > PointType
The point type the spline is representing.
Definition: SplineFwd.h:47
Array< _Scalar, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition: SplineFwd.h:74
Spline< double, 2 > Spline2d
2D double B-spline with dynamic degree.
Definition: SplineFwd.h:87