AbstractInterpolation Class Referenceabstract

The AbstractInterpolation class represents a function f:t->P with P being the space of all poses The function parameters are initialized when using the constructors, so using getPoseAt is fast. More...

#include <RobotComponents/gui-plugins/RobotTrajectoryDesignerGuiPlugin/Interpolation/AbstractInterpolation.h>

+ Inheritance diagram for AbstractInterpolation:

Public Member Functions

int getNumberOfControlPoints ()
 getNumberOfControlPoints returns number of controlPoints More...
 
virtual PoseBasePtr getPoseAt (double time)=0
 getPoseAt returns the Pose defined by f(time) More...
 

Protected Member Functions

virtual const QuaternionBasePtr calculateOrientationAt (double time)
 calculateOrientationAt calculates the rotation/orientation of the pose at a certain time More...
 
void init (const std::vector< PoseBasePtr > cp)
 init convinience method to construct the basic parts of the interpolation (copying all controlPoints) More...
 

Static Protected Member Functions

static PoseBasePtr deepCopy (PoseBasePtr org)
 deepCopy creates a real, independent copy of a PoseBasePtr More...
 

Protected Attributes

std::vector< PoseBasePtr > controlPoints
 controlPoints the controlPoints that are interpolated between More...
 

Detailed Description

The AbstractInterpolation class represents a function f:t->P with P being the space of all poses The function parameters are initialized when using the constructors, so using getPoseAt is fast.

The Interpolation can be defined by a series of controlPoints and the Interpolation Type, which are the subclasses of this class.

Definition at line 36 of file AbstractInterpolation.h.

Member Function Documentation

◆ calculateOrientationAt()

const QuaternionBasePtr calculateOrientationAt ( double  time)
protectedvirtual

calculateOrientationAt calculates the rotation/orientation of the pose at a certain time

Parameters
timea time between 0 and 1 with calculateOrientationAt(0) being the starting Orientation and calculateOrientationAt(1) being the ending Orientation
Returns
the orientation at time

Definition at line 36 of file AbstractInterpolation.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deepCopy()

PoseBasePtr deepCopy ( PoseBasePtr  org)
staticprotected

deepCopy creates a real, independent copy of a PoseBasePtr

Parameters
orgthe PoseBasePtr to be cloned
Returns
the cloned PoseBasePtr

Definition at line 67 of file AbstractInterpolation.cpp.

+ Here is the caller graph for this function:

◆ getNumberOfControlPoints()

int getNumberOfControlPoints ( )

getNumberOfControlPoints returns number of controlPoints

Returns
the number of controlPoints that define the interpolation

Definition at line 53 of file AbstractInterpolation.cpp.

+ Here is the caller graph for this function:

◆ getPoseAt()

virtual PoseBasePtr getPoseAt ( double  time)
pure virtual

getPoseAt returns the Pose defined by f(time)

Parameters
timea time between 0 and 1 with getPoseAt(0) being the startingPose and getPoseAt(1) being the ending Pose
Returns
the pose of the interpolation-function at time

Implemented in LinearInterpolation, SplineInterpolation, and SplineInterpolationSegment.

◆ init()

void init ( const std::vector< PoseBasePtr >  cp)
protected

init convinience method to construct the basic parts of the interpolation (copying all controlPoints)

Parameters
cpthe controlPoints toinitialize the Interpolation with

Definition at line 58 of file AbstractInterpolation.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ controlPoints

std::vector<PoseBasePtr> controlPoints
protected

controlPoints the controlPoints that are interpolated between

Definition at line 57 of file AbstractInterpolation.h.


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