KrisLibrary  1.0.0
VisibilityGraphPlanner.h
1 #ifndef VISIBILITY_GRAPH_PLANNER_H
2 #define VISIBILITY_GRAPH_PLANNER_H
3 
4 #include "Geometric2DCSpace.h"
5 #include "Path.h"
6 #include <KrisLibrary/graph/UndirectedGraph.h>
7 
9 {
11  void Init();
12  bool Plan(const Vector2& a,const Vector2& b,std::vector<Vector2>& path);
13  bool Plan(const Config& a,const Config& b,MilestonePath& path);
14  Real Distance(const Vector2& a,const Vector2& b);
15  Real Distance(const Config& a,const Config& b);
16  void AllDistances(const Vector2& a,vector<Real>& distances);
17  void AllDistances(const Config& a,vector<Real>& distances);
18 
19  struct Vertex {
20  enum Type { Endpoint, AABB, Triangle, Circle };
21  Type type;
22  int obj;
23  int idata;
24  Real fdata;
25  Config q;
26  };
27 
28  int TestAndConnectVertex(const Vertex& v);
29 
30  Geometric2DCSpace* space;
31  Real offset; //offset from obstacle boundaries
34 };
35 
36 
37 #endif
Definition: VisibilityGraphPlanner.h:19
a 2D cspace whose obstacles are geometric primitives.
Definition: Geometric2DCSpace.h:69
Vector Config
an alias for Vector
Definition: RobotKinematics3D.h:14
A sequence of locally planned paths between milestones.
Definition: planning/Path.h:15
A 2D vector class.
Definition: math3d/primitives.h:41
Definition: VisibilityGraphPlanner.h:8
A specialization of a Graph to be an undirected graph.
Definition: UndirectedGraph.h:17