Curves A library for curves generation.
curves::SE3Curve Class Referenceabstract

`#include <SE3Curve.hpp>`

Inheritance diagram for curves::SE3Curve:

## Public Types

typedef Curve< SE3ConfigParent

typedef Parent::ValueType ValueType

typedef Parent::DerivativeType DerivativeType

Public Types inherited from curves::Curve< SE3Config >
typedef SE3Config::ValueType ValueType
The value type of the curve. More...

typedef SE3Config::DerivativeType DerivativeType
The curve's derivative type. More...

## Public Member Functions

SE3Curve ()

virtual ~SE3Curve ()

virtual Eigen::Vector3d evaluateAngularVelocityA (Time time)=0
Evaluate the angular velocity of Frame b as seen from Frame a, expressed in Frame a. More...

virtual Eigen::Vector3d evaluateAngularVelocityB (Time time)=0
Evaluate the angular velocity of Frame a as seen from Frame b, expressed in Frame b. More...

virtual Eigen::Vector3d evaluateLinearVelocityA (Time time)=0
Evaluate the velocity of Frame b as seen from Frame a, expressed in Frame a. More...

virtual Eigen::Vector3d evaluateLinearVelocityB (Time time)=0
Evaluate the velocity of Frame a as seen from Frame b, expressed in Frame b. More...

virtual Vector6d evaluateTwistA (Time time)=0
evaluate the velocity/angular velocity of Frame b as seen from Frame a, expressed in Frame a. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5). More...

virtual Vector6d evaluateTwistB (Time time)=0
evaluate the velocity/angular velocity of Frame a as seen from Frame b, expressed in Frame b. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5). More...

virtual Eigen::Vector3d evaluateAngularDerivativeA (unsigned derivativeOrder, Time time)=0
Evaluate the angular derivative of Frame b as seen from Frame a, expressed in Frame a. More...

virtual Eigen::Vector3d evaluateAngularDerivativeB (unsigned derivativeOrder, Time time)=0
Evaluate the angular derivative of Frame a as seen from Frame b, expressed in Frame b. More...

virtual Eigen::Vector3d evaluateLinearDerivativeA (unsigned derivativeOrder, Time time)=0
Evaluate the derivative of Frame b as seen from Frame a, expressed in Frame a. More...

virtual Eigen::Vector3d evaluateLinearDerivativeB (unsigned derivativeOrder, Time time)=0
Evaluate the derivative of Frame a as seen from Frame b, expressed in Frame b. More...

virtual Vector6d evaluateDerivativeA (unsigned derivativeOrder, Time time)=0
evaluate the velocity/angular derivative of Frame b as seen from Frame a, expressed in Frame a. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5). More...

virtual Vector6d evaluateDerivativeB (unsigned derivativeOrder, Time time)=0
evaluate the velocity/angular velocity of Frame a as seen from Frame b, expressed in Frame b. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5). More...

virtual void setMinSamplingPeriod (Time time)=0
set the minimum sampling period More...

virtual void setSamplingRatio (const int ratio)=0
Set the sampling ratio. eg. 4 will add a coefficient every 4 extend. More...

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

virtual void saveCurveTimesAndValues (const std::string &filename) const =0

virtual void saveCurveAtTimes (const std::string &filename, std::vector< Time > times) const =0

virtual void saveCorrectionCurveAtTimes (const std::string &filename, std::vector< Time > times) const =0

virtual void getCurveTimes (std::vector< Time > *outTimes) const =0

virtual int correctionSize () const =0
Returns the number of coefficients in the correction curve. More...

virtual void foldInCorrections ()=0
Fold in the correction curve into the base curve and reinitialize correction curve coefficients to identity transformations. More...

virtual void setCorrectionTimes (const std::vector< Time > &times)=0
Add coefficients to the correction curve at given times. More...

virtual void removeCorrectionCoefficientAtTime (Time time)=0
Remove a correction coefficient at the specified time. More...

virtual void setCorrectionCoefficientAtTime (Time time, ValueType value)=0
Set the correction coefficient value at the specified time. More...

virtual void resetCorrectionCurve (const std::vector< Time > &times)=0
Reset the correction curve to identity values with knots at desired times. More...

virtual void setBaseCurve (const std::vector< Time > &times, const std::vector< ValueType > &values)=0
Set the base curve to given values with knots at desired times Resets the curve beforehand. More...

virtual void setBaseCurvePart (const std::vector< Time > &times, const std::vector< ValueType > &values)=0
Add / replace the given coefficients without resetting the curve. More...

virtual void modifyBaseCoefficientsValuesInBatch (const std::vector< Time > &times, const std::vector< ValueType > &values)=0
Modifies values of the base coefficient in batch, starting at times[0] and assuming that a coefficient exists at all the specified times. More...

virtual void getBaseCurveTimes (std::vector< Time > *outTimes) const =0

virtual void getBaseCurveTimesInWindow (std::vector< Time > *outTimes, Time begTime, Time endTime) const =0

virtual bool isEmpty () const =0

virtual int size () const =0

virtual int baseSize () const =0

virtual void saveCorrectionCurveTimesAndValues (const std::string &filename) const =0

Public Member Functions inherited from curves::Curve< SE3Config >
Curve ()

virtual ~Curve ()

virtual void transformCurve (const ValueType T)=0
Perform a rigid transformation on the left side of the curve. More...

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

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

## Detailed Description

Definition at line 24 of file SE3Curve.hpp.

## Member Typedef Documentation

Definition at line 31 of file SE3Curve.hpp.

 typedef Curve curves::SE3Curve::Parent

Definition at line 29 of file SE3Curve.hpp.

Definition at line 30 of file SE3Curve.hpp.

## Constructor & Destructor Documentation

 curves::SE3Curve::SE3Curve ( )
 virtual curves::SE3Curve::~SE3Curve ( )
virtual

## Member Function Documentation

 virtual int curves::SE3Curve::baseSize ( ) const
pure virtual
 virtual void curves::SE3Curve::clear ( )
pure virtual

Clear all the curve coefficients.

Implements curves::Curve< SE3Config >.

 virtual int curves::SE3Curve::correctionSize ( ) const
pure virtual

Returns the number of coefficients in the correction curve.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateAngularDerivativeA ( unsigned derivativeOrder, Time time )
pure virtual

Evaluate the angular derivative of Frame b as seen from Frame a, expressed in Frame a.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateAngularDerivativeB ( unsigned derivativeOrder, Time time )
pure virtual

Evaluate the angular derivative of Frame a as seen from Frame b, expressed in Frame b.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateAngularVelocityA ( Time time )
pure virtual

Evaluate the angular velocity of Frame b as seen from Frame a, expressed in Frame a.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateAngularVelocityB ( Time time )
pure virtual

Evaluate the angular velocity of Frame a as seen from Frame b, expressed in Frame b.

 virtual Vector6d curves::SE3Curve::evaluateDerivativeA ( unsigned derivativeOrder, Time time )
pure virtual

evaluate the velocity/angular derivative of Frame b as seen from Frame a, expressed in Frame a. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5).

 virtual Vector6d curves::SE3Curve::evaluateDerivativeB ( unsigned derivativeOrder, Time time )
pure virtual

evaluate the velocity/angular velocity of Frame a as seen from Frame b, expressed in Frame b. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5).

 virtual Eigen::Vector3d curves::SE3Curve::evaluateLinearDerivativeA ( unsigned derivativeOrder, Time time )
pure virtual

Evaluate the derivative of Frame b as seen from Frame a, expressed in Frame a.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateLinearDerivativeB ( unsigned derivativeOrder, Time time )
pure virtual

Evaluate the derivative of Frame a as seen from Frame b, expressed in Frame b.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateLinearVelocityA ( Time time )
pure virtual

Evaluate the velocity of Frame b as seen from Frame a, expressed in Frame a.

 virtual Eigen::Vector3d curves::SE3Curve::evaluateLinearVelocityB ( Time time )
pure virtual

Evaluate the velocity of Frame a as seen from Frame b, expressed in Frame b.

 virtual Vector6d curves::SE3Curve::evaluateTwistA ( Time time )
pure virtual

evaluate the velocity/angular velocity of Frame b as seen from Frame a, expressed in Frame a. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5).

 virtual Vector6d curves::SE3Curve::evaluateTwistB ( Time time )
pure virtual

evaluate the velocity/angular velocity of Frame a as seen from Frame b, expressed in Frame b. The return value has the linear velocity (0,1,2), and the angular velocity (3,4,5).

 virtual void curves::SE3Curve::foldInCorrections ( )
pure virtual

Fold in the correction curve into the base curve and reinitialize correction curve coefficients to identity transformations.

 virtual void curves::SE3Curve::getBaseCurveTimes ( std::vector< Time > * outTimes ) const
pure virtual
 virtual void curves::SE3Curve::getBaseCurveTimesInWindow ( std::vector< Time > * outTimes, Time begTime, Time endTime ) const
pure virtual
 virtual void curves::SE3Curve::getCurveTimes ( std::vector< Time > * outTimes ) const
pure virtual
 virtual bool curves::SE3Curve::isEmpty ( ) const
pure virtual
 virtual void curves::SE3Curve::modifyBaseCoefficientsValuesInBatch ( const std::vector< Time > & times, const std::vector< ValueType > & values )
pure virtual

Modifies values of the base coefficient in batch, starting at times[0] and assuming that a coefficient exists at all the specified times.

 virtual void curves::SE3Curve::removeCorrectionCoefficientAtTime ( Time time )
pure virtual

Remove a correction coefficient at the specified time.

 virtual void curves::SE3Curve::resetCorrectionCurve ( const std::vector< Time > & times )
pure virtual

Reset the correction curve to identity values with knots at desired times.

 virtual void curves::SE3Curve::saveCorrectionCurveAtTimes ( const std::string & filename, std::vector< Time > times ) const
pure virtual
 virtual void curves::SE3Curve::saveCorrectionCurveTimesAndValues ( const std::string & filename ) const
pure virtual
 virtual void curves::SE3Curve::saveCurveAtTimes ( const std::string & filename, std::vector< Time > times ) const
pure virtual
 virtual void curves::SE3Curve::saveCurveTimesAndValues ( const std::string & filename ) const
pure virtual
 virtual void curves::SE3Curve::setBaseCurve ( const std::vector< Time > & times, const std::vector< ValueType > & values )
pure virtual

Set the base curve to given values with knots at desired times Resets the curve beforehand.

 virtual void curves::SE3Curve::setBaseCurvePart ( const std::vector< Time > & times, const std::vector< ValueType > & values )
pure virtual

Add / replace the given coefficients without resetting the curve.

 virtual void curves::SE3Curve::setCorrectionCoefficientAtTime ( Time time, ValueType value )
pure virtual

Set the correction coefficient value at the specified time.

 virtual void curves::SE3Curve::setCorrectionTimes ( const std::vector< Time > & times )
pure virtual

Add coefficients to the correction curve at given times.

 virtual void curves::SE3Curve::setMinSamplingPeriod ( Time time )
pure virtual

set the minimum sampling period

 virtual void curves::SE3Curve::setSamplingRatio ( const int ratio )
pure virtual

Set the sampling ratio. eg. 4 will add a coefficient every 4 extend.

 virtual int curves::SE3Curve::size ( ) const
pure virtual
 virtual void curves::SE3Curve::transformCurve ( const ValueType T )
pure virtual

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

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