10#ifndef EIGEN_SPLINES_FWD_H
11#define EIGEN_SPLINES_FWD_H
13#include "../../../../Eigen/Core"
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 };
38 typedef Array<Scalar,1,OrderAtCompileTime> BasisVectorType;
41 typedef Array<Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime> BasisDerivativeType;
44 typedef Array<Scalar,Dimension,Dynamic,DerivativeMemoryLayout,Dimension,NumOfDerivativesAtCompileTime> DerivativeType;
47 typedef Array<Scalar,Dimension,1> PointType;
50 typedef Array<Scalar,1,Dynamic> KnotVectorType;
53 typedef Array<Scalar,1,Dynamic> ParameterVectorType;
56 typedef Array<Scalar,Dimension,Dynamic> ControlPointVectorType;
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 };
74 typedef Array<_Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime> BasisDerivativeType;
77 typedef Array<_Scalar,_Dim,Dynamic,DerivativeMemoryLayout,_Dim,NumOfDerivativesAtCompileTime> DerivativeType;
A class representing multi-dimensional spline curves.
Definition SplineFwd.h:17
Spline()
Creates a (constant) zero spline. For Splines with dynamic degree, the resulting degree will be 0.
Definition Spline.h:64
Namespace containing all symbols from the Eigen library.
Spline< float, 2 > Spline2f
2D float B-spline with dynamic degree.
Definition SplineFwd.h:81
Spline< double, 3 > Spline3d
3D double B-spline with dynamic degree.
Definition SplineFwd.h:90
Spline< float, 3 > Spline3f
3D float B-spline with dynamic degree.
Definition SplineFwd.h:84
Spline< double, 2 > Spline2d
2D double B-spline with dynamic degree.
Definition SplineFwd.h:87