Curves
A library for curves generation.
curves::PolynomialSplineVectorSpaceCurve< SplineType, N > Class Template Reference

#include <PolynomialSplineVectorSpaceCurve.hpp>

Inheritance diagram for curves::PolynomialSplineVectorSpaceCurve< SplineType, N >:
Inheritance graph

Public Types

typedef VectorSpaceCurve< N > Parent
 
typedef Parent::ValueType ValueType
 
typedef Parent::DerivativeType DerivativeType
 
- Public Types inherited from curves::VectorSpaceCurve< N >
typedef Curve< VectorSpaceConfig< N > > Parent
 
typedef Parent::ValueType ValueType
 
typedef Parent::DerivativeType DerivativeType
 
- Public Types inherited from curves::Curve< VectorSpaceConfig< N > >
typedef VectorSpaceConfig< N >::ValueType ValueType
 The value type of the curve. More...
 
typedef VectorSpaceConfig< N >::DerivativeType DerivativeType
 The curve's derivative type. More...
 

Public Member Functions

 PolynomialSplineVectorSpaceCurve ()
 
virtual ~PolynomialSplineVectorSpaceCurve ()
 
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
 
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)
 
virtual void fitCurve (const std::vector< Time > &times, const std::vector< ValueType > &values, const DerivativeType &initialVelocity, const DerivativeType &initialAcceleration, const DerivativeType &finalVelocity, const DerivativeType &finalAcceleration)
 
virtual void fitCurve (const std::vector< Time > &times, const std::vector< ValueType > &values, const std::vector< DerivativeType > &firstDerivatives, const std::vector< DerivativeType > &secondDerivatives, std::vector< Key > *outKeys=NULL)
 
virtual void fitCurve (const std::vector< SplineOptions > &values, std::vector< Key > *outKeys=NULL)
 
virtual void clear ()
 Clear all the curve coefficients. More...
 
virtual void transformCurve (const ValueType T)
 
- Public Member Functions inherited from curves::VectorSpaceCurve< N >
 VectorSpaceCurve ()
 
virtual ~VectorSpaceCurve ()
 
size_t dim () const
 Get the dimension of this curve. More...
 
- Public Member Functions inherited from curves::Curve< VectorSpaceConfig< N > >
 Curve ()
 
virtual ~Curve ()
 
virtual void transformCurve (const ValueType T)=0
 Perform a rigid transformation on the left side of the curve. More...
 
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
 
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...
 

Private Attributes

std::vector< PolynomialSplineContainerQuinticcontainers_
 
Time minTime_
 

Detailed Description

template<typename SplineType, int N>
class curves::PolynomialSplineVectorSpaceCurve< SplineType, N >

Definition at line 24 of file PolynomialSplineVectorSpaceCurve.hpp.

Member Typedef Documentation

template<typename SplineType , int N>
typedef Parent::DerivativeType curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::DerivativeType

Definition at line 29 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
typedef VectorSpaceCurve<N> curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::Parent

Definition at line 27 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
typedef Parent::ValueType curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::ValueType

Definition at line 28 of file PolynomialSplineVectorSpaceCurve.hpp.

Constructor & Destructor Documentation

template<typename SplineType , int N>
curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::PolynomialSplineVectorSpaceCurve ( )
inline

Definition at line 31 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::~PolynomialSplineVectorSpaceCurve ( )
inlinevirtual

Definition at line 38 of file PolynomialSplineVectorSpaceCurve.hpp.

Member Function Documentation

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::clear ( )
inlinevirtual

Clear all the curve coefficients.

Implements curves::Curve< VectorSpaceConfig< N > >.

Definition at line 147 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual bool curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::evaluate ( ValueType value,
Time  time 
) const
inlinevirtual

Definition at line 56 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual bool curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::evaluateDerivative ( DerivativeType value,
Time  time,
unsigned  derivativeOrder 
) const
inlinevirtual

Definition at line 64 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::extend ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
std::vector< Key > *  outKeys 
)
inlinevirtual

Definition at line 81 of file PolynomialSplineVectorSpaceCurve.hpp.

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

Definition at line 87 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::fitCurve ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
const DerivativeType initialVelocity,
const DerivativeType initialAcceleration,
const DerivativeType finalVelocity,
const DerivativeType finalAcceleration 
)
inlinevirtual

Definition at line 99 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::fitCurve ( const std::vector< Time > &  times,
const std::vector< ValueType > &  values,
const std::vector< DerivativeType > &  firstDerivatives,
const std::vector< DerivativeType > &  secondDerivatives,
std::vector< Key > *  outKeys = NULL 
)
inlinevirtual

Definition at line 116 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::fitCurve ( const std::vector< SplineOptions > &  values,
std::vector< Key > *  outKeys = NULL 
)
inlinevirtual

Definition at line 140 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual Time curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::getMaxTime ( ) const
inlinevirtual

The one past the last valid time for the curve.

Implements curves::Curve< VectorSpaceConfig< N > >.

Definition at line 51 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual Time curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::getMinTime ( ) const
inlinevirtual

The dimension of the underlying manifold.

The first valid time of the curve.

Implements curves::Curve< VectorSpaceConfig< N > >.

Definition at line 46 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::print ( const std::string &  str = "") const
inlinevirtual

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

Implements curves::Curve< VectorSpaceConfig< N > >.

Definition at line 42 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
virtual void curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::transformCurve ( const ValueType  T)
inlinevirtual

Definition at line 154 of file PolynomialSplineVectorSpaceCurve.hpp.

Member Data Documentation

template<typename SplineType , int N>
std::vector<PolynomialSplineContainerQuintic> curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::containers_
private

Definition at line 160 of file PolynomialSplineVectorSpaceCurve.hpp.

template<typename SplineType , int N>
Time curves::PolynomialSplineVectorSpaceCurve< SplineType, N >::minTime_
private

Definition at line 161 of file PolynomialSplineVectorSpaceCurve.hpp.


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