1 #ifndef PLANNING_GEODESIC_SPACE_H 2 #define PLANNING_GEODESIC_SPACE_H 4 #include <KrisLibrary/math/vector.h> 36 virtual int NumDimensions() { FatalError(
"NumDimensions method not implemented");
return -1; }
37 virtual int NumIntrinsicDimensions() {
return NumDimensions(); }
38 virtual Real Distance(
const Config& x,
const Config& y) {
return Distance_L2(x,y); }
39 virtual void Interpolate(
const Config& x,
const Config& y,Real u,
Config& out) { interpolate(x,y,u,out); }
41 virtual void InterpolateDeriv(
const Config& a,
const Config& b,Real u,
Vector& dx) { dx.sub(b,a); }
42 virtual void InterpolateDerivA(
const Config& a,
const Config& b,Real u,
const Vector& da,
Vector& dx) { dx.mul(da,1-u); }
44 virtual void InterpolateDeriv2(
const Config& a,
const Config& b,Real u,
Vector& ddx) { ddx.resize(a.n,Zero); }
53 virtual int NumDimensions() {
return d; }
A space with geodesics and (optionally) geodesic derivatives.
Definition: GeodesicSpace.h:31
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
Definition: GeodesicSpace.h:48
Standard vector/matrix metrics.
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
Convenience functions for linear interpolation of vectors and matrices.