Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
 
Loading...
Searching...
No Matches
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>
26 struct SplineTraits< Spline<_Scalar, _Dim, _Degree>, Dynamic >
27 {
28 typedef _Scalar Scalar;
29 enum { Dimension = _Dim };
30 enum { Degree = _Degree };
31
32 enum { OrderAtCompileTime = _Degree==Dynamic ? Dynamic : _Degree+1 };
33 enum { NumOfDerivativesAtCompileTime = OrderAtCompileTime };
34
35 enum { DerivativeMemoryLayout = Dimension==1 ? RowMajor : ColMajor };
36
39
42
45
48
51
54
57 };
58
65 template < typename _Scalar, int _Dim, int _Degree, int _DerivativeOrder >
66 struct SplineTraits< Spline<_Scalar, _Dim, _Degree>, _DerivativeOrder > : public SplineTraits< Spline<_Scalar, _Dim, _Degree> >
67 {
68 enum { OrderAtCompileTime = _Degree==Dynamic ? Dynamic : _Degree+1 };
69 enum { NumOfDerivativesAtCompileTime = _DerivativeOrder==Dynamic ? Dynamic : _DerivativeOrder+1 };
70
71 enum { DerivativeMemoryLayout = _Dim==1 ? RowMajor : ColMajor };
72
75
78 };
79
82
85
88
91}
92
93#endif // EIGEN_SPLINES_FWD_H
A class representing multi-dimensional spline curves.
Definition: Spline.h:36
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
const int Dynamic
Array< Scalar, 1, Dynamic > KnotVectorType
The data type used to store knot vectors.
Definition: SplineFwd.h:50
Array< Scalar, 1, Dynamic > ParameterVectorType
The data type used to store parameter vectors.
Definition: SplineFwd.h:53
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, OrderAtCompileTime > BasisVectorType
The data type used to store non-zero basis functions.
Definition: SplineFwd.h:38
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, Dimension, 1 > PointType
The point type the spline is representing.
Definition: SplineFwd.h:47
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:74
Array< _Scalar, _Dim, Dynamic, DerivativeMemoryLayout, _Dim, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition: SplineFwd.h:77