1 #ifndef PMPL_WORKSPACE_SKELETON_H_
2 #define PMPL_WORKSPACE_SKELETON_H_
9 #include <containers/sequential/graph/directed_preds_graph.h>
15 #include <unordered_map>
39 typedef std::vector<mathtool::Point3d>
EdgeType;
81 void Prune(
const mathtool::Point3d& _goal);
101 void Write(
const std::string& _file);
106 void Read(
const std::string& _file);
118 VD m_start{std::numeric_limits<VD>::max()};
Definition: GenericStateGraph.h:67
STAPLGraph::vertex_descriptor VID
Definition: GenericStateGraph.h:83
STAPLGraph::vertex_iterator VI
Definition: GenericStateGraph.h:89
STAPLGraph::edge_descriptor EID
Definition: GenericStateGraph.h:84
STAPLGraph::adj_edge_iterator EI
Definition: GenericStateGraph.h:90
Geometric skeleton of the workspace.
Definition: WorkspaceSkeleton.h:22
BaseType::EID ED
Definition: WorkspaceSkeleton.h:32
WorkspaceSkeleton()
Definition: WorkspaceSkeleton.cpp:11
WorkspaceSkeleton Direct(const mathtool::Point3d &_start)
Definition: WorkspaceSkeleton.cpp:55
BaseType::VID VD
Definition: WorkspaceSkeleton.h:31
std::vector< mathtool::Point3d > EdgeType
Definition: WorkspaceSkeleton.h:39
BaseType::VID vertex_descriptor
Definition: WorkspaceSkeleton.h:34
vertex_iterator FindNearestVertex(const mathtool::Point3d &_target)
Definition: WorkspaceSkeleton.cpp:17
void Write(const std::string &_file)
Definition: WorkspaceSkeleton.cpp:294
void DoubleEdges()
Definition: WorkspaceSkeleton.cpp:263
vertex_iterator FindVertex(const VD _vertexDescriptor)
Definition: WorkspaceSkeleton.cpp:34
BaseType::VI vertex_iterator
Definition: WorkspaceSkeleton.h:33
void Read(const std::string &_file)
Definition: WorkspaceSkeleton.cpp:315
adj_edge_iterator FindEdge(const ED &_edgeDescriptor)
Definition: WorkspaceSkeleton.cpp:41
void Prune(const mathtool::Point3d &_goal)
Definition: WorkspaceSkeleton.cpp:155
BaseType::EI adj_edge_iterator
Definition: WorkspaceSkeleton.h:35
mathtool::Point3d CfgType
Definition: WorkspaceSkeleton.h:38
GenericStateGraph< mathtool::Point3d, std::vector< mathtool::Point3d > > BaseType
Definition: WorkspaceSkeleton.h:29
void RefineEdges(double _maxLength)
Divide existing edges into sizes of at most _maxLength.
Definition: WorkspaceSkeleton.cpp:214