Curves
A library for curves generation.
curves::PolynomialSplineScalarCurve< SplineContainerType_ > Class Template Reference

#include <PolynomialSplineScalarCurve.hpp>

Inheritance diagram for curves::PolynomialSplineScalarCurve< SplineContainerType_ >:
Inheritance graph

Public Types

typedef Curve< ScalarCurveConfigParent
 
typedef Parent::ValueType ValueType
 
typedef Parent::DerivativeType DerivativeType
 
using SplineContainerType = SplineContainerType_
 
- Public Types inherited from curves::Curve< ScalarCurveConfig >
typedef ScalarCurveConfig::ValueType ValueType
 The value type of the curve. More...
 
typedef ScalarCurveConfig::DerivativeType DerivativeType
 The curve's derivative type. More...
 

Public Member Functions

 PolynomialSplineScalarCurve ()
 
virtual ~PolynomialSplineScalarCurve ()
 
virtual void print (const std::string &str="") const
 Print the value of the coefficient, for debugging and unit tests. More...
 
virtual Time getMinTime () const
 The dimension of the underlying manifold. More...
 
virtual Time getMaxTime () const
 The one past the last valid time for the curve. More...
 
virtual bool evaluate (ValueType &value, Time time) const
 Evaluate the ambient space of the curve. More...
 
virtual bool evaluateDerivative (DerivativeType &value, Time time, unsigned derivativeOrder) const
 
virtual void extend (const std::vector< Time > &times, const std::vector< ValueType > &values, std::vector< Key > *outKeys)
 
virtual void fitCurve (const std::vector< Time > &times, const std::vector< ValueType > &values, std::vector< Key > *outKeys=NULL)
 Fit a new curve to these data points. More...
 
virtual void fitCurve (const std::vector< Time > &times, const std::vector< ValueType > &values, double initialVelocity, double initialAcceleration, double finalVelocity, double finalAcceleration, std::vector< Key > *outKeys=NULL)
 
virtual void fitCurve (const std::vector< SplineOptions > &optionList, std::vector< Key > *outKeys=NULL)
 
virtual void clear ()
 Clear all the curve coefficients. More...
 
virtual void transformCurve (const ValueType T)
 Perform a rigid transformation on the left side of the curve. More...
 
- Public Member Functions inherited from curves::Curve< ScalarCurveConfig >
 Curve ()
 
virtual ~Curve ()
 

Protected Attributes

SplineContainerType container_
 
Time minTime_
 

Detailed Description

template<typename SplineContainerType_>
class curves::PolynomialSplineScalarCurve< SplineContainerType_ >

Definition at line 28 of file PolynomialSplineScalarCurve.hpp.

Member Typedef Documentation

template<typename SplineContainerType_ >
typedef Parent::DerivativeType curves::PolynomialSplineScalarCurve< SplineContainerType_ >::DerivativeType

Definition at line 33 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
typedef Curve<ScalarCurveConfig> curves::PolynomialSplineScalarCurve< SplineContainerType_ >::Parent

Definition at line 31 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
using curves::PolynomialSplineScalarCurve< SplineContainerType_ >::SplineContainerType = SplineContainerType_

Definition at line 35 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
typedef Parent::ValueType curves::PolynomialSplineScalarCurve< SplineContainerType_ >::ValueType

Definition at line 32 of file PolynomialSplineScalarCurve.hpp.

Constructor & Destructor Documentation

template<typename SplineContainerType_ >
curves::PolynomialSplineScalarCurve< SplineContainerType_ >::PolynomialSplineScalarCurve ( )
inline

Definition at line 37 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual curves::PolynomialSplineScalarCurve< SplineContainerType_ >::~PolynomialSplineScalarCurve ( )
inlinevirtual

Definition at line 44 of file PolynomialSplineScalarCurve.hpp.

Member Function Documentation

template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::clear ( )
inlinevirtual

Clear all the curve coefficients.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 141 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual bool curves::PolynomialSplineScalarCurve< SplineContainerType_ >::evaluate ( ValueType value,
Time  time 
) const
inlinevirtual

Evaluate the ambient space of the curve.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 82 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual bool curves::PolynomialSplineScalarCurve< SplineContainerType_ >::evaluateDerivative ( DerivativeType value,
Time  time,
unsigned  derivativeOrder 
) const
inlinevirtual
template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::extend ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
std::vector< Key > *  outKeys 
)
inlinevirtual

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.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 108 of file PolynomialSplineScalarCurve.hpp.

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

Fit a new curve to these data points.

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

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 114 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::fitCurve ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
double  initialVelocity,
double  initialAcceleration,
double  finalVelocity,
double  finalAcceleration,
std::vector< Key > *  outKeys = NULL 
)
inlinevirtual

Definition at line 121 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::fitCurve ( const std::vector< SplineOptions > &  optionList,
std::vector< Key > *  outKeys = NULL 
)
inlinevirtual

Definition at line 131 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual Time curves::PolynomialSplineScalarCurve< SplineContainerType_ >::getMaxTime ( ) const
inlinevirtual

The one past the last valid time for the curve.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 77 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual Time curves::PolynomialSplineScalarCurve< SplineContainerType_ >::getMinTime ( ) const
inlinevirtual

The dimension of the underlying manifold.

The first valid time of the curve.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 72 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::print ( const std::string &  str = "") const
inlinevirtual

Print the value of the coefficient, for debugging and unit tests.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 48 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
virtual void curves::PolynomialSplineScalarCurve< SplineContainerType_ >::transformCurve ( const ValueType  T)
inlinevirtual

Perform a rigid transformation on the left side of the curve.

Implements curves::Curve< ScalarCurveConfig >.

Definition at line 147 of file PolynomialSplineScalarCurve.hpp.

Member Data Documentation

template<typename SplineContainerType_ >
SplineContainerType curves::PolynomialSplineScalarCurve< SplineContainerType_ >::container_
protected

Definition at line 153 of file PolynomialSplineScalarCurve.hpp.

template<typename SplineContainerType_ >
Time curves::PolynomialSplineScalarCurve< SplineContainerType_ >::minTime_
protected

Definition at line 154 of file PolynomialSplineScalarCurve.hpp.


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