| 
    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.