KrisLibrary  1.0.0
CVSpace.h
1 #ifndef PLANNING_CVSPACE_H
2 #define PLANNING_CVSPACE_H
3 
4 #include "CSpace.h"
5 #include "CSpaceHelpers.h"
6 
10 class CVSpace : public MultiCSpace
11 {
12  public:
13  CVSpace(const std::shared_ptr<CSpace>& baseSpace,const std::shared_ptr<CSpace>& velSpace);
14 
15  static void GetState(const Config& x,Config& q,Vector& v);
16  static void GetConfig(const Config& x,Config& q);
17  static void GetVelocity(const Config& x,Vector& v);
18  static void GetStateRef(const Config& x,Config& q,Vector& v);
19  static void GetConfigRef(const Config& x,Config& q);
20  static void GetVelocityRef(const Config& x,Vector& v);
21  static void SetState(const Config& q,const Vector& v,Config& x);
22  static void SetConfig(const Config& q,Config& x);
23  static void SetVelocity(const Vector& v,Config& x);
24 };
25 
29 class HermiteCSpace : public CVSpace
30 {
31  public:
32  HermiteCSpace(const std::shared_ptr<CSpace>& baseSpace,const std::shared_ptr<CSpace>& velSpace);
33  virtual Real Distance(const Config& x, const Config& y);
34  virtual void Interpolate(const Config& x,const Config& y,Real u,Config& out);
35  virtual void Properties(PropertyMap& props);
36 
37  virtual void InterpolateDeriv(const Config& a,const Config& b,Real u,Vector& dx);
38  virtual void Integrate(const Config& a,const Vector& da,Config& b);
39 };
40 
41 
42 #endif
Definition: CSpaceHelpers.h:110
virtual Real Distance(const Config &x, const Config &y)
optionally overrideable (default uses euclidean space)
Definition: CSpaceHelpers.cpp:468
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
A C-space on configurations and velocities (q,v) that uses Hermite interpolation to construct continu...
Definition: CVSpace.h:29
virtual void Properties(PropertyMap &)
Returns properties of the space that might be useful for planners.
Definition: CSpaceHelpers.cpp:510
A C-space on configurations and velocities (q,v) that linear uses linear interpolation on velocities...
Definition: CVSpace.h:10
A simple map from keys to values.
Definition: PropertyMap.h:27