Curves
A library for curves generation.
curves::Curve< CurveConfig > Class Template Referenceabstract

#include <Curve.hpp>

Public Types

typedef CurveConfig::ValueType ValueType
 The value type of the curve. More...
 
typedef CurveConfig::DerivativeType DerivativeType
 The curve's derivative type. More...
 

Public Member Functions

 Curve ()
 
virtual ~Curve ()
 
virtual void clear ()=0
 Clear all the curve coefficients. More...
 
virtual void transformCurve (const ValueType T)=0
 Perform a rigid transformation on the left side of the curve. More...
 
Methods to get information about the curve.
virtual void print (const std::string &str="") const =0
 Print the value of the coefficient, for debugging and unit tests. More...
 
virtual Time getMinTime () const =0
 The dimension of the underlying manifold. More...
 
virtual Time getMaxTime () const =0
 The one past the last valid time for the curve. More...
 
Methods to evaluate the curve
virtual bool evaluate (ValueType &value, Time time) const =0
 Evaluate the ambient space of the curve. More...
 
virtual bool evaluateDerivative (DerivativeType &derivative, Time time, unsigned derivativeOrder) const =0
 
Methods to fit the curve based on data.
virtual void extend (const std::vector< Time > &times, const std::vector< ValueType > &values, std::vector< Key > *outKeys=NULL)=0
 
virtual void fitCurve (const std::vector< Time > &times, const std::vector< ValueType > &values, std::vector< Key > *outKeys=NULL)=0
 Fit a new curve to these data points. More...
 

Detailed Description

template<typename CurveConfig>
class curves::Curve< CurveConfig >

Definition at line 17 of file Curve.hpp.

Member Typedef Documentation

template<typename CurveConfig>
typedef CurveConfig::DerivativeType curves::Curve< CurveConfig >::DerivativeType

The curve's derivative type.

Definition at line 25 of file Curve.hpp.

template<typename CurveConfig>
typedef CurveConfig::ValueType curves::Curve< CurveConfig >::ValueType

The value type of the curve.

Definition at line 22 of file Curve.hpp.

Constructor & Destructor Documentation

template<typename CurveConfig>
curves::Curve< CurveConfig >::Curve ( )
inline

Definition at line 27 of file Curve.hpp.

template<typename CurveConfig>
virtual curves::Curve< CurveConfig >::~Curve ( )
inlinevirtual

Definition at line 28 of file Curve.hpp.

Member Function Documentation

template<typename CurveConfig>
virtual bool curves::Curve< CurveConfig >::evaluate ( ValueType value,
Time  time 
) const
pure virtual

Evaluate the ambient space of the curve.

Implemented in curves::CubicHermiteSE3Curve, and curves::PolynomialSplineScalarCurve< SplineContainerType_ >.

template<typename CurveConfig>
virtual bool curves::Curve< CurveConfig >::evaluateDerivative ( DerivativeType derivative,
Time  time,
unsigned  derivativeOrder 
) const
pure virtual
template<typename CurveConfig>
virtual void curves::Curve< CurveConfig >::extend ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
std::vector< Key > *  outKeys = NULL 
)
pure virtual

Extend the curve so that it can be evaluated at these times. Try to make the curve fit to the values. Underneath the curve should have some default policy for fitting.

Implemented in curves::CubicHermiteSE3Curve, curves::PolynomialSplineScalarCurve< SplineContainerType_ >, curves::SE3CompositionCurve< C1, C2 >, curves::SlerpSE3Curve, curves::SlerpSE2Curve, curves::DiscreteSE3Curve, and curves::SemiDiscreteSE3Curve.

template<typename CurveConfig>
virtual void curves::Curve< CurveConfig >::fitCurve ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
std::vector< Key > *  outKeys = NULL 
)
pure virtual

Fit a new curve to these data points.

The existing curve will be cleared. Underneath the curve should have some default policy for fitting.

Implemented in curves::CubicHermiteSE3Curve, curves::PolynomialSplineScalarCurve< SplineContainerType_ >, curves::SE3CompositionCurve< C1, C2 >, curves::SlerpSE3Curve, curves::SlerpSE2Curve, curves::DiscreteSE3Curve, and curves::SemiDiscreteSE3Curve.

template<typename CurveConfig>
virtual Time curves::Curve< CurveConfig >::getMinTime ( ) const
pure virtual
template<typename CurveConfig>
virtual void curves::Curve< CurveConfig >::print ( const std::string &  str = "") const
pure virtual
template<typename CurveConfig>
virtual void curves::Curve< CurveConfig >::transformCurve ( const ValueType  T)
pure virtual

The documentation for this class was generated from the following file: