KrisLibrary  1.0.0
Public Member Functions | List of all members
GeodesicSpace Class Reference

A space with geodesics and (optionally) geodesic derivatives. More...

#include <GeodesicSpace.h>

Inheritance diagram for GeodesicSpace:
CartesianSpace GeodesicCSpace CartesianCSpace GeodesicCSpaceAdaptor MultiCSpace SO2CSpace SO3CSpace BoxCSpace CVSpace SE2CSpace SE3CSpace SpaceTimeCSpace R2CSpace R3CSpace TimeCSpace TranslatingRobot2DCSpace HermiteCSpace RigidRobot2DCSpace RigidRobot3DCSpace CostCSpace

Public Member Functions

virtual int NumDimensions ()
 
virtual int NumIntrinsicDimensions ()
 
virtual Real Distance (const Config &x, const Config &y)
 
virtual void Interpolate (const Config &x, const Config &y, Real u, Config &out)
 
virtual void InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx)
 
virtual void InterpolateDerivA (const Config &a, const Config &b, Real u, const Vector &da, Vector &dx)
 
virtual void InterpolateDerivB (const Config &a, const Config &b, Real u, const Vector &db, Vector &dx)
 
virtual void InterpolateDeriv2 (const Config &a, const Config &b, Real u, Vector &ddx)
 
virtual void Integrate (const Config &a, const Vector &da, Config &b)
 

Detailed Description

A space with geodesics and (optionally) geodesic derivatives.

The Interpolate function is a function x=f(a,b,u) and Distance(a,b) gives a metric on arc length of the geodesic.

NumDimensions() gives the number of Config elements. NumIntrinsicDimensions returns then number of intrinsic dimensions, which may be different from NumDimensions() if the space is a sub-manifold of the ambient space.

Optionally, this class provides information about df/du (InterpolateDeriv), df/da*a' (InterpolateDerivA), df/db*b' (InterpolateDerivB), and ddf/du^2 (InterpolateDeriv2).

It also allows you to integrate a tangent vector to the manifold da starting from configuration a (Integrate).

An example of the use of this would be geodesic interpolator on a sphere that is parameterized via theta/phi angles.

The default implementation assumes a linear interpolation / Cartesian space.


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