SplineFwd.h
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 20010-2011 Hauke Heibel <hauke.heibel@gmail.com>
5//
6// This Source Code Form is subject to the terms of the Mozilla
7// Public License v. 2.0. If a copy of the MPL was not distributed
8// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10#ifndef EIGEN_SPLINES_FWD_H
11#define EIGEN_SPLINES_FWD_H
12
13#include <Eigen/Core>
14
15namespace Eigen
16{
17 template <typename Scalar, int Dim, int Degree = Dynamic> class Spline;
18
19 template < typename SplineType, int DerivativeOrder = Dynamic > struct SplineTraits {};
20
25 template <typename _Scalar, int _Dim, int _Degree>
53
60 template < typename _Scalar, int _Dim, int _Degree, int _DerivativeOrder >
61 struct SplineTraits< Spline<_Scalar, _Dim, _Degree>, _DerivativeOrder > : public SplineTraits< Spline<_Scalar, _Dim, _Degree> >
62 {
63 enum { OrderAtCompileTime = _Degree==Dynamic ? Dynamic : _Degree+1 };
64 enum { NumOfDerivativesAtCompileTime = _DerivativeOrder==Dynamic ? Dynamic : _DerivativeOrder+1 };
65
68
71 };
72
74 typedef Spline<float,2> Spline2f;
75
77 typedef Spline<float,3> Spline3f;
78
80 typedef Spline<double,2> Spline2d;
81
83 typedef Spline<double,3> Spline3d;
84}
85
86#endif // EIGEN_SPLINES_FWD_H
A class representing multi-dimensional spline curves.
Definition Spline.h:36
Array< Scalar, Dimension, 1 > PointType
The point type the spline is representing.
Definition SplineFwd.h:45
Array< Scalar, 1, OrderAtCompileTime > BasisVectorType
The data type used to store non-zero basis functions.
Definition SplineFwd.h:36
Array< Scalar, 1, Dynamic > KnotVectorType
The data type used to store knot vectors.
Definition SplineFwd.h:48
Array< Scalar, Dimension, Dynamic, ColMajor, Dimension, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition SplineFwd.h:42
Array< Scalar, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition SplineFwd.h:39
Array< Scalar, Dimension, Dynamic > ControlPointVectorType
The data type representing the spline's control points.
Definition SplineFwd.h:51
Array< _Scalar, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition SplineFwd.h:67
Array< _Scalar, _Dim, Dynamic, ColMajor, _Dim, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition SplineFwd.h:70