Eigen-Contrib  5.0.1
 
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) 2010-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// SPDX-License-Identifier: MPL-2.0
10
11#ifndef EIGEN_SPLINES_FWD_H
12#define EIGEN_SPLINES_FWD_H
13
14// IWYU pragma: private
15#include "./InternalHeaderCheck.h"
16#include "../../../../Eigen/Core"
17
18namespace Eigen {
19template <typename Scalar, int Dim, int Degree = Dynamic>
20class Spline;
21
22template <typename SplineType, int DerivativeOrder = Dynamic>
23struct SplineTraits {};
24
29template <typename Scalar_, int Dim_, int Degree_>
67
74template <typename Scalar_, int Dim_, int Degree_, int _DerivativeOrder>
75struct SplineTraits<Spline<Scalar_, Dim_, Degree_>, _DerivativeOrder>
76 : public SplineTraits<Spline<Scalar_, Dim_, Degree_> > {
77 enum {
78 OrderAtCompileTime = Degree_ == Dynamic ? Dynamic : Degree_ + 1
79 };
80 enum {
82 _DerivativeOrder == Dynamic
83 ? Dynamic
84 : _DerivativeOrder + 1
85 };
86
87 enum { DerivativeMemoryLayout = Dim_ == 1 ? RowMajor : ColMajor };
88
92
95};
96
99
102
105
108} // namespace Eigen
109
110#endif // EIGEN_SPLINES_FWD_H
A class representing multi-dimensional spline curves.
Definition Spline.h:44
Namespace containing all symbols from the Eigen library.
Spline< float, 3 > Spline3f
3D float B-spline with dynamic degree.
Definition SplineFwd.h:101
Spline< float, 2 > Spline2f
2D float B-spline with dynamic degree.
Definition SplineFwd.h:98
Spline< double, 2 > Spline2d
2D double B-spline with dynamic degree.
Definition SplineFwd.h:104
Spline< double, 3 > Spline3d
3D double B-spline with dynamic degree.
Definition SplineFwd.h:107
Array< Scalar, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition SplineFwd.h:49
Array< Scalar, 1, Dynamic > ParameterVectorType
The data type used to store parameter vectors.
Definition SplineFwd.h:62
Array< Scalar, Dimension, 1 > PointType
The point type the spline is representing.
Definition SplineFwd.h:56
Array< Scalar, 1, OrderAtCompileTime > BasisVectorType
The data type used to store non-zero basis functions.
Definition SplineFwd.h:45
Array< Scalar, Dimension, Dynamic > ControlPointVectorType
The data type representing the spline's control points.
Definition SplineFwd.h:65
Array< Scalar, Dimension, Dynamic, DerivativeMemoryLayout, Dimension, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition SplineFwd.h:53
Array< Scalar, 1, Dynamic > KnotVectorType
The data type used to store knot vectors.
Definition SplineFwd.h:59
Array< Scalar_, Dynamic, Dynamic, RowMajor, NumOfDerivativesAtCompileTime, OrderAtCompileTime > BasisDerivativeType
The data type used to store the values of the basis function derivatives.
Definition SplineFwd.h:91
Array< Scalar_, Dim_, Dynamic, DerivativeMemoryLayout, Dim_, NumOfDerivativesAtCompileTime > DerivativeType
The data type used to store the spline's derivative values.
Definition SplineFwd.h:94