$treeview $search $mathjax
Eigen-unsupported
3.2.5
$projectbrief
|
$projectbrief
|
$searchbox |
A class representing multi-dimensional spline curves. More...
Public Types | |
enum | { Dimension } |
enum | { Degree } |
typedef SplineTraits< Spline > ::BasisVectorType | BasisVectorType |
The data type used to store non-zero basis functions. | |
typedef SplineTraits< Spline > ::ControlPointVectorType | ControlPointVectorType |
The data type representing the spline's control points. | |
typedef SplineTraits< Spline > ::KnotVectorType | KnotVectorType |
The data type used to store knot vectors. | |
typedef SplineTraits< Spline > ::PointType | PointType |
The point type the spline is representing. | |
typedef _Scalar | Scalar |
Public Member Functions | |
template<int DerivativeOrder> | |
SplineTraits< Spline, DerivativeOrder > ::BasisDerivativeType | basisFunctionDerivatives (Scalar u, DenseIndex order=DerivativeOrder) const |
SplineTraits< Spline > ::BasisDerivativeType | basisFunctionDerivatives (Scalar u, DenseIndex order) const |
Computes the non-zero spline basis function derivatives up to given order. | |
SplineTraits< Spline > ::BasisVectorType | basisFunctions (Scalar u) const |
Computes the non-zero basis functions at the given site. | |
const ControlPointVectorType & | ctrls () const |
Returns the knots of the underlying spline. | |
DenseIndex | degree () const |
Returns the spline degree. | |
template<int DerivativeOrder> | |
SplineTraits< Spline, DerivativeOrder > ::DerivativeType | derivatives (Scalar u, DenseIndex order=DerivativeOrder) const |
SplineTraits< Spline > ::DerivativeType | derivatives (Scalar u, DenseIndex order) const |
Evaluation of spline derivatives of up-to given order. | |
const KnotVectorType & | knots () const |
Returns the knots of the underlying spline. | |
PointType | operator() (Scalar u) const |
Returns the spline value at a given site ![]() | |
DenseIndex | span (Scalar u) const |
Returns the span within the knot vector in which u is falling. | |
template<int OtherDegree> | |
Spline (const Spline< Scalar, Dimension, OtherDegree > &spline) | |
Copy constructor for splines. | |
template<typename OtherVectorType , typename OtherArrayType > | |
Spline (const OtherVectorType &knots, const OtherArrayType &ctrls) | |
Creates a spline from a knot vector and control points. | |
Spline () | |
Creates a (constant) zero spline. For Splines with dynamic degree, the resulting degree will be 0. | |
Static Public Member Functions | |
static BasisVectorType | BasisFunctions (Scalar u, DenseIndex degree, const KnotVectorType &knots) |
Returns the spline's non-zero basis functions. | |
static DenseIndex | Span (typename SplineTraits< Spline >::Scalar u, DenseIndex degree, const typename SplineTraits< Spline >::KnotVectorType &knots) |
Computes the spang within the provided knot vector in which u is falling. |
A class representing multi-dimensional spline curves.
The class represents B-splines with non-uniform knot vectors. Each control point of the B-spline is associated with a basis function
_Scalar | The underlying data type (typically float or double) | |
_Dim | The curve dimension (e.g. 2 or 3) | |
_Degree | Per default set to Dynamic; could be set to the actual desired degree for optimization purposes (would result in stack allocation of several temporary variables). |
typedef _Scalar Scalar |
The spline curve's scalar type.
Spline | ( | const OtherVectorType & | knots, | |
const OtherArrayType & | ctrls | |||
) | [inline] |
Creates a spline from a knot vector and control points.
knots | The spline's knot vector. | |
ctrls | The spline's control point vector. |
Copy constructor for splines.
spline | The input spline. |
SplineTraits<Spline,DerivativeOrder>::BasisDerivativeType basisFunctionDerivatives | ( | Scalar | u, | |
DenseIndex | order = DerivativeOrder | |||
) | const [inline] |
Computes the non-zero spline basis function derivatives up to given order. The function computes
with i ranging from 0 up to the specified order.
u | Parameter ![]() | |
order | The order up to which the basis function derivatives are computes. |
SplineTraits< Spline< _Scalar, _Dim, _Degree >, DerivativeOrder >::BasisDerivativeType basisFunctionDerivatives | ( | Scalar | u, | |
DenseIndex | order | |||
) | const [inline] |
Computes the non-zero spline basis function derivatives up to given order.
The function computes
with i ranging from 0 up to the specified order.
u | Parameter ![]() | |
order | The order up to which the basis function derivatives are computes. |
static BasisVectorType BasisFunctions | ( | Scalar | u, | |
DenseIndex | degree, | |||
const KnotVectorType & | knots | |||
) | [static] |
Returns the spline's non-zero basis functions.
The function computes and returns
u | The site at which the basis functions are computed. | |
degree | The degree of the underlying spline. | |
knots | The underlying spline's knot vector. |
Referenced by Spline< _Scalar, _Dim, _Degree >::basisFunctions().
SplineTraits< Spline< _Scalar, _Dim, _Degree > >::BasisVectorType basisFunctions | ( | Scalar | u | ) | const [inline] |
Computes the non-zero basis functions at the given site.
Splines have local support and a point from their image is defined by exactly control points
where
is the spline degree.
This function computes the non-zero basis function values for a given parameter value
. It returns
u | Parameter ![]() |
References Spline< _Scalar, _Dim, _Degree >::BasisFunctions(), Spline< _Scalar, _Dim, _Degree >::degree(), and Spline< _Scalar, _Dim, _Degree >::knots().
Referenced by Spline< _Scalar, _Dim, _Degree >::operator()().
SplineTraits<Spline,DerivativeOrder>::DerivativeType derivatives | ( | Scalar | u, | |
DenseIndex | order = DerivativeOrder | |||
) | const [inline] |
Evaluation of spline derivatives of up-to given order. The function returns
for i ranging between 0 and order.
u | Parameter ![]() | |
order | The order up to which the derivatives are computed. |
SplineTraits< Spline< _Scalar, _Dim, _Degree >, DerivativeOrder >::DerivativeType derivatives | ( | Scalar | u, | |
DenseIndex | order | |||
) | const [inline] |
Evaluation of spline derivatives of up-to given order.
The function returns
for i ranging between 0 and order.
u | Parameter ![]() | |
order | The order up to which the derivatives are computed. |
Returns the spline value at a given site .
The function returns
u | Parameter ![]() |
References Spline< _Scalar, _Dim, _Degree >::basisFunctions(), Spline< _Scalar, _Dim, _Degree >::ctrls(), Spline< _Scalar, _Dim, _Degree >::degree(), Spline< _Scalar, _Dim, _Degree >::Dimension, and Spline< _Scalar, _Dim, _Degree >::span().
DenseIndex span | ( | Scalar | u | ) | const [inline] |
Returns the span within the knot vector in which u is falling.
u | The site for which the span is determined. |
References Spline< _Scalar, _Dim, _Degree >::degree(), Spline< _Scalar, _Dim, _Degree >::knots(), and Spline< _Scalar, _Dim, _Degree >::Span().
Referenced by Spline< _Scalar, _Dim, _Degree >::operator()().