RobWorkProject
24.12.4-
|
Interface for blending. More...
#include <Blend.hpp>
Inherited by LloydHaywardBlend< V >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< T >, ParabolicBlend< T >, and SplineBlend< T >.
Public Types | |
typedef rw::core::Ptr< Blend > | Ptr |
smart pointer type to this class | |
Public Member Functions | |
virtual | ~Blend () |
Destructor. | |
virtual T | x (double t) const =0 |
The position for a given time t. More... | |
virtual T | dx (double t) const =0 |
The velocity for a given time t. More... | |
virtual T | ddx (double t) const =0 |
The acceleration for a given time t. More... | |
virtual double | tau1 () const =0 |
The time \(\tau_1\) as defined in class definition. More... | |
virtual double | tau2 () const =0 |
The time \(\tau_2\) as defined in class definition. More... | |
Interface for blending.
A Blend describes a way to blend between to consecutive interpolators. If we let \( t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \( [t_1-\tau_1;t_1+\tau_2]\).
See the specific implementations for at description of which template arguments that are valid.
|
pure virtual |
The acceleration for a given time t.
t | [in] \( t\in[0,\tau_1+\tau_2] \) |
Implemented in SplineBlend< T >, SplineBlend< T >, ParabolicBlend< rw::math::Transform3D< T > >, ParabolicBlend< rw::math::Rotation3D< T > >, ParabolicBlend< T >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< rw::math::Transform3D< T > >, LloydHaywardBlend< rw::math::Rotation3D< T > >, LloydHaywardBlend< T >, and LloydHaywardBlend< V >.
|
pure virtual |
The velocity for a given time t.
t | [in] \( t\in[0,\tau_1+\tau_2] \) |
Implemented in SplineBlend< T >, SplineBlend< T >, ParabolicBlend< rw::math::Transform3D< T > >, ParabolicBlend< rw::math::Rotation3D< T > >, ParabolicBlend< T >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< rw::math::Transform3D< T > >, LloydHaywardBlend< rw::math::Rotation3D< T > >, LloydHaywardBlend< T >, and LloydHaywardBlend< V >.
|
pure virtual |
The time \(\tau_1\) as defined in class definition.
Implemented in SplineBlend< T >, ParabolicBlend< rw::math::Transform3D< T > >, ParabolicBlend< rw::math::Rotation3D< T > >, ParabolicBlend< T >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< rw::math::Transform3D< T > >, LloydHaywardBlend< rw::math::Rotation3D< T > >, LloydHaywardBlend< T >, and LloydHaywardBlend< V >.
|
pure virtual |
The time \(\tau_2\) as defined in class definition.
Implemented in SplineBlend< T >, ParabolicBlend< rw::math::Transform3D< T > >, ParabolicBlend< rw::math::Rotation3D< T > >, ParabolicBlend< T >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< rw::math::Transform3D< T > >, LloydHaywardBlend< rw::math::Rotation3D< T > >, LloydHaywardBlend< T >, and LloydHaywardBlend< V >.
|
pure virtual |
The position for a given time t.
t | [in] \( t\in[0,\tau_1+\tau_2] \) |
Implemented in SplineBlend< T >, SplineBlend< T >, ParabolicBlend< rw::math::Transform3D< T > >, ParabolicBlend< rw::math::Rotation3D< T > >, ParabolicBlend< T >, ParabolicBlend< rw::math::Vector3D< T > >, LloydHaywardBlend< rw::math::Transform3D< T > >, LloydHaywardBlend< rw::math::Rotation3D< T > >, LloydHaywardBlend< T >, and LloydHaywardBlend< V >.