|
Aikido
|
#include <aikido/common/BSpline.hpp>
Public Types | |
| enum | { Dimension = _Dim } |
| enum | { Degree = _Degree } |
| typedef _Scalar | Scalar |
| typedef SplineTraits< BSpline >::PointType | PointType |
| The point type the spline is representing. More... | |
| typedef SplineTraits< BSpline >::KnotVectorType | KnotVectorType |
| The data type used to store knot vectors. More... | |
| typedef SplineTraits< BSpline >::ParameterVectorType | ParameterVectorType |
| The data type used to store parameter vectors. More... | |
| typedef SplineTraits< BSpline >::BasisVectorType | BasisVectorType |
| The data type used to store non-zero basis functions. More... | |
| typedef SplineTraits< BSpline >::BasisDerivativeType | BasisDerivativeType |
| The data type used to store the values of the basis function derivatives. More... | |
| typedef SplineTraits< BSpline >::ControlPointVectorType | ControlPointVectorType |
| The data type representing the spline's control points. More... | |
Public Member Functions | |
| BSpline () | |
| Creates a (constant) zero spline. More... | |
| template<typename OtherVectorType , typename OtherArrayType > | |
| BSpline (const OtherVectorType &knots, const OtherArrayType &ctrls) | |
| Creates a spline from a knot vector and control points. More... | |
| template<int OtherDegree> | |
| BSpline (const BSpline< Scalar, Dimension, OtherDegree > &spline) | |
| Copy constructor for splines. More... | |
| const KnotVectorType & | knots () const |
| Returns the knots of the underlying spline. More... | |
| ControlPointVectorType & | ctrls () |
| Returns the ctrls of the underlying spline. More... | |
| const ControlPointVectorType & | ctrls () const |
| Returns the ctrls of the underlying spline. More... | |
| PointType | operator() (Scalar u) const |
Returns the spline value at a given site . More... | |
| SplineTraits< BSpline >::DerivativeType | derivatives (Scalar u, Eigen::DenseIndex order) const |
| Evaluation of spline derivatives of up-to given order. More... | |
| template<int DerivativeOrder> | |
| SplineTraits< BSpline, DerivativeOrder >::DerivativeType | derivatives (Scalar u, Eigen::DenseIndex order=DerivativeOrder) const |
| SplineTraits< BSpline >::BasisVectorType | basisFunctions (Scalar u) const |
| Computes the non-zero basis functions at the given site. More... | |
| SplineTraits< BSpline >::BasisDerivativeType | basisFunctionDerivatives (Scalar u, Eigen::DenseIndex order) const |
| Computes the non-zero spline basis function derivatives up to given order. More... | |
| template<int DerivativeOrder> | |
| SplineTraits< BSpline, DerivativeOrder >::BasisDerivativeType | basisFunctionDerivatives (Scalar u, Eigen::DenseIndex order=DerivativeOrder) const |
| Eigen::DenseIndex | degree () const |
| Returns the spline degree. More... | |
| Eigen::DenseIndex | span (Scalar u) const |
| Returns the span within the knot vector in which u is falling. More... | |
Static Public Member Functions | |
| static Eigen::DenseIndex | Span (typename SplineTraits< BSpline >::Scalar u, Eigen::DenseIndex degree, const typename SplineTraits< BSpline >::KnotVectorType &knots) |
| Computes the spang within the provided knot vector in which u is falling. More... | |
| static BasisVectorType | BasisFunctions (Scalar u, Eigen::DenseIndex degree, const KnotVectorType &knots) |
| Returns the spline's non-zero basis functions. More... | |
| static BasisDerivativeType | BasisFunctionDerivatives (const Scalar u, const Eigen::DenseIndex order, const Eigen::DenseIndex degree, const KnotVectorType &knots) |
Static Private Member Functions | |
| template<typename DerivativeType > | |
| static void | BasisFunctionDerivativesImpl (const typename BSpline< _Scalar, _Dim, _Degree >::Scalar u, const Eigen::DenseIndex order, const Eigen::DenseIndex p, const typename BSpline< _Scalar, _Dim, _Degree >::KnotVectorType &U, DerivativeType &N_) |
Private Attributes | |
| KnotVectorType | m_knots |
| ControlPointVectorType | m_ctrls |
| typedef SplineTraits<BSpline>::BasisDerivativeType aikido::common::BSpline< _Scalar, _Dim, _Degree >::BasisDerivativeType |
The data type used to store the values of the basis function derivatives.
| typedef SplineTraits<BSpline>::BasisVectorType aikido::common::BSpline< _Scalar, _Dim, _Degree >::BasisVectorType |
The data type used to store non-zero basis functions.
| typedef SplineTraits<BSpline>::ControlPointVectorType aikido::common::BSpline< _Scalar, _Dim, _Degree >::ControlPointVectorType |
The data type representing the spline's control points.
| typedef SplineTraits<BSpline>::KnotVectorType aikido::common::BSpline< _Scalar, _Dim, _Degree >::KnotVectorType |
The data type used to store knot vectors.
| typedef SplineTraits<BSpline>::ParameterVectorType aikido::common::BSpline< _Scalar, _Dim, _Degree >::ParameterVectorType |
The data type used to store parameter vectors.
| typedef SplineTraits<BSpline>::PointType aikido::common::BSpline< _Scalar, _Dim, _Degree >::PointType |
The point type the spline is representing.
| typedef _Scalar aikido::common::BSpline< _Scalar, _Dim, _Degree >::Scalar |
The spline curve's scalar type.
| anonymous enum |
| anonymous enum |
|
inline |
Creates a (constant) zero spline.
For Splines with dynamic degree, the resulting degree will be 0.
|
inline |
Creates a spline from a knot vector and control points.
| knots | The spline's knot vector. |
| ctrls | The spline's control point vector. |
|
inline |
Copy constructor for splines.
| spline | The input spline. |
|
static |
| degree | The degree of the underlying spline |
| knots | The underlying spline's knot vector. |
| SplineTraits< BSpline< _Scalar, _Dim, _Degree >, DerivativeOrder >::BasisDerivativeType aikido::common::BSpline< _Scalar, _Dim, _Degree >::basisFunctionDerivatives | ( | Scalar | u, |
| Eigen::DenseIndex | order | ||
| ) | const |
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 at which the non-zero basis function derivatives are computed. |
| order | The order up to which the basis function derivatives are computes. |
| SplineTraits<BSpline, DerivativeOrder>::BasisDerivativeType aikido::common::BSpline< _Scalar, _Dim, _Degree >::basisFunctionDerivatives | ( | Scalar | u, |
| Eigen::DenseIndex | order = DerivativeOrder |
||
| ) | const |
Using the template version of this function is more efficieent since temporary objects are allocated on the stack whenever this is possible.
|
staticprivate |
| SplineTraits< BSpline< _Scalar, _Dim, _Degree > >::BasisVectorType aikido::common::BSpline< _Scalar, _Dim, _Degree >::basisFunctions | ( | Scalar | u | ) | const |
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 at which the non-zero basis functions are computed. |
|
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. |
|
inline |
Returns the ctrls of the underlying spline.
|
inline |
Returns the ctrls of the underlying spline.
| Eigen::DenseIndex aikido::common::BSpline< _Scalar, _Dim, _Degree >::degree |
Returns the spline degree.
| SplineTraits< BSpline< _Scalar, _Dim, _Degree >, DerivativeOrder >::DerivativeType aikido::common::BSpline< _Scalar, _Dim, _Degree >::derivatives | ( | Scalar | u, |
| Eigen::DenseIndex | order | ||
| ) | const |
Evaluation of spline derivatives of up-to given order.
The function returns
for i ranging between 0 and order.
| u | Parameter at which the spline derivative is evaluated. |
| order | The order up to which the derivatives are computed. |
| SplineTraits<BSpline, DerivativeOrder>::DerivativeType aikido::common::BSpline< _Scalar, _Dim, _Degree >::derivatives | ( | Scalar | u, |
| Eigen::DenseIndex | order = DerivativeOrder |
||
| ) | const |
Using the template version of this function is more efficieent since temporary objects are allocated on the stack whenever this is possible.
|
inline |
Returns the knots of the underlying spline.
| BSpline< _Scalar, _Dim, _Degree >::PointType aikido::common::BSpline< _Scalar, _Dim, _Degree >::operator() | ( | Scalar | u | ) | const |
Returns the spline value at a given site
.
The function returns
| u | Parameter at which the spline is evaluated. |
. | Eigen::DenseIndex aikido::common::BSpline< _Scalar, _Dim, _Degree >::span | ( | Scalar | u | ) | const |
Returns the span within the knot vector in which u is falling.
| u | The site for which the span is determined. |
|
static |
Computes the spang within the provided knot vector in which u is falling.
|
private |
Control points.
|
private |
Knot vector.