|
|
| typedef CompositeGraph< Vertex, Edge > | BaseType |
| |
| typedef GroupRoadmap< Vertex, Edge > | GroupRoadmapType |
| |
| typedef Vertex::IndividualGraph | IndividualRoadmap |
| |
| typedef IndividualRoadmap::CfgType | IndividualCfg |
| |
| typedef IndividualRoadmap::EdgeType | IndividualEdge |
| |
| typedef BaseType::EID | ED |
| |
| typedef BaseType::adj_edge_iterator | adj_edge_iterator |
| |
| typedef BaseType::edge_descriptor | edge_descriptor |
| |
| typedef BaseType::vertex_iterator | vertex_iterator |
| |
| typedef BaseType::vertex_descriptor | vertex_descriptor |
| |
| typedef STAPLGraph::const_vertex_iterator | CVI |
| |
| typedef STAPLGraph::vertex_iterator | VI |
| |
| typedef STAPLGraph::adj_edge_iterator | EI |
| |
| typedef STAPLGraph::vertex_descriptor | VID |
| |
| using | STAPLGraph = stapl::sequential::graph< stapl::DIRECTED, stapl::NONMULTIEDGES, Vertex, Edge > |
| |
| typedef GenericStateGraph< Vertex, Edge > | BaseType |
| |
| typedef CompositeGraph< Vertex, Edge > | CompositeGraphType |
| |
| typedef Vertex::IndividualGraph | IndividualGraph |
| |
| typedef BaseType::EID | ED |
| |
| typedef IndividualGraph::EdgeType | IndividualEdge |
| |
| typedef BaseType::adj_edge_iterator | adj_edge_iterator |
| |
| typedef BaseType::edge_descriptor | edge_descriptor |
| |
| typedef BaseType::vertex_iterator | vertex_iterator |
| |
| typedef BaseType::vertex_descriptor | vertex_descriptor |
| |
| typedef STAPLGraph::const_vertex_iterator | CVI |
| |
| typedef STAPLGraph::vertex_iterator | VI |
| |
| typedef STAPLGraph::adj_edge_iterator | EI |
| |
| typedef STAPLGraph::vertex_descriptor | VID |
| |
| using | STAPLGraph = stapl::sequential::graph< stapl::DIRECTED, stapl::NONMULTIEDGES, Vertex, Edge > |
| |
| typedef std::function< void(VI)> | VertexHook |
| |
| typedef std::function< void(EI)> | EdgeHook |
| |
| enum class | HookType |
| |
| enum class | HookType { AddVertex
, DeleteVertex
, AddEdge
, DeleteEdge
} |
| |
| using | STAPLGraph = stapl::sequential::graph< stapl::DIRECTED, stapl::NONMULTIEDGES, Vertex, Edge > |
| |
| typedef STAPLGraph::vertex_descriptor | VID |
| |
| typedef STAPLGraph::edge_descriptor | EID |
| |
| typedef EID::edge_id_type | EdgeID |
| |
| typedef std::unordered_set< VID > | VertexSet |
| |
| typedef STAPLGraph::vertex_iterator | VI |
| |
| typedef STAPLGraph::adj_edge_iterator | EI |
| |
| typedef STAPLGraph::const_vertex_iterator | CVI |
| |
| typedef STAPLGraph::const_adj_edge_iterator | CEI |
| |
| typedef STAPLGraph::vertex_property | VP |
| |
| typedef STAPLGraph::edge_property | EP |
| |
| typedef Vertex | CfgType |
| |
| typedef Edge | EdgeType |
| |
| typedef stapl::sequential::vector_property_map< STAPLGraph, size_t > | ColorMap |
| |
| typedef std::function< void(VI)> | VertexHook |
| |
| typedef std::function< void(EI)> | EdgeHook |
| |
| typedef CCTracker< GenericStateGraph< Vertex, Edge > > | CCTrackerType |
| |
|
|
| template<typename MPSolution > |
| | GroupRoadmap (RobotGroup *const _g, MPSolution *const _solution) |
| | Construct a group roadmap. More...
|
| |
|
Move and copy are disabled because the group cfgs and edges need to know their group roadmap pointer. To implement these, we'll need to update the pointer on every component.
|
| | GroupRoadmap (const GroupRoadmap &)=delete |
| |
| | GroupRoadmap (GroupRoadmap &&)=delete |
| |
| GroupRoadmap & | operator= (const GroupRoadmap &)=delete |
| |
| GroupRoadmap & | operator= (GroupRoadmap &&)=delete |
| |
|
| virtual VID | AddVertex (const Vertex &_v) noexcept override |
| |
| virtual ED | AddEdge (const VID _source, const VID _target, const Edge &_w) noexcept override |
| |
| virtual EID | AddEdge (const VID _source, const VID _target, const Edge &_w) noexcept |
| |
| virtual std::pair< EID, EID > | AddEdge (const VID _source, const VID _target, const std::pair< Edge, Edge > &_w) noexcept |
| |
| virtual EID | AddEdge (const EID _eid, const Edge &_w) noexcept |
| |
| virtual EID | AddEdge (const VID _source, const VID _target) noexcept |
| |
| | CompositeGraph (RobotGroup *const _g=nullptr, std::vector< IndividualGraph * > _graphs={}) |
| | Construct a composite graph. More...
|
| |
| | CompositeGraph (const CompositeGraph &)=delete |
| |
| | CompositeGraph (CompositeGraph &&)=delete |
| |
| CompositeGraph & | operator= (const CompositeGraph &)=delete |
| |
| CompositeGraph & | operator= (CompositeGraph &&)=delete |
| |
| virtual RobotGroup * | GetGroup () |
| | Get the robot group. More...
|
| |
| virtual IndividualGraph * | GetIndividualGraph (const size_t _index) |
| |
| virtual const IndividualGraph * | GetIndividualGraph (const size_t _index) const |
| |
| virtual size_t | GetNumRobots () const noexcept |
| | Get the number of robots for the group this graph is for. More...
|
| |
| virtual void | Write (const std::string &_filename, Environment *_env) const override |
| |
| virtual void | WriteCompositeGraph (const std::string &_filename, Environment *const _env) const |
| |
| std::string | PrettyPrint () const |
| |
| virtual void | DeleteVertex (const VID _v) noexcept override |
| |
| virtual void | DeleteEdge (const VID _source, const VID _target) noexcept override |
| |
| virtual void | DeleteEdge (EI _iterator) noexcept override |
| |
| virtual EID | AddEdge (const VID _source, const VID _target, const Edge &_w) noexcept |
| |
| virtual std::pair< EID, EID > | AddEdge (const VID _source, const VID _target, const std::pair< Edge, Edge > &_w) noexcept |
| |
| virtual EID | AddEdge (const EID _eid, const Edge &_w) noexcept |
| |
| virtual EID | AddEdge (const VID _source, const VID _target) noexcept |
| |
| virtual void | ClearHooks () noexcept override |
| |
| | GenericStateGraph () |
| |
| | GenericStateGraph (Robot *const _r) |
| |
| | GenericStateGraph (const GenericStateGraph &_r) |
| |
| | GenericStateGraph (GenericStateGraph &&_r) |
| |
| GenericStateGraph & | operator= (const GenericStateGraph &_r) |
| |
| GenericStateGraph & | operator= (GenericStateGraph &&_r) |
| |
| bool | operator== (const GenericStateGraph &_r) const noexcept |
| |
| bool | operator!= (const GenericStateGraph &_r) const noexcept |
| |
| virtual VID | AddVertex (const VID _vid, const Vertex &_v) noexcept |
| |
| virtual VID | AddDuplicateVertex (const Vertex &_v) noexcept |
| |
| virtual std::pair< EID, EID > | AddEdge (const VID _source, const VID _target, const std::pair< Edge, Edge > &_w) noexcept |
| |
| virtual EID | AddEdge (const EID _eid, const Edge &_w) noexcept |
| |
| virtual EID | AddEdge (const VID _source, const VID _target) noexcept |
| |
| void | SetRobot (Robot *const _r) noexcept |
| | Set the robot pointer on all configurations in the map. More...
|
| |
| void | AppendRoadmap (const GenericStateGraph &_r) |
| |
| void | SetCCTracker (StatClass *const _stats=nullptr) |
| |
| size_t | Size () const noexcept |
| | Get the number of vertices in the roadmap. More...
|
| |
| bool | IsVertex (const VID _vid) const noexcept |
| |
| bool | IsVertex (const Vertex &_v) const noexcept |
| |
| bool | IsVertex (const Vertex &_v, CVI &_vi) const noexcept |
| |
| bool | IsEdge (const VID _source, const VID _target) const noexcept |
| |
| template<typename T > |
| VID | GetVID (const T &_t) const noexcept |
| |
| VID | GetVID (const VI &_t) const noexcept |
| |
| VID | GetVID (const Vertex &_t) const noexcept |
| |
| const VertexSet & | GetPredecessors (const VID _vid) const noexcept |
| |
| VID | GetLastVID () const noexcept |
| | Get the descriptor of the last vertex added to the graph. More...
|
| |
| size_t | GetTimestamp () const noexcept |
| | Each time the roadmap is modified, we update the timestamp. More...
|
| |
| const VertexSet & | GetAllVIDs () const noexcept |
| | Get the set of all VIDs in the roadmap. More...
|
| |
| Robot * | GetRobot () const noexcept |
| | Get the robot represented by this roadmap. More...
|
| |
| CCTrackerType * | GetCCTracker () const noexcept |
| | Get the connected component tracker. More...
|
| |
| template<typename T > |
| VP & | GetVertex (T &_t) noexcept |
| | Retrieve a reference to a vertex property by descriptor or iterator. More...
|
| |
| VP & | GetVertex (VI &_t) noexcept |
| |
| VP & | GetVertex (VID _t) noexcept |
| |
| template<typename T > |
| const VP & | GetVertex (T &_t) const noexcept |
| |
| const VP & | GetVertex (CVI &_t) const noexcept |
| |
| const VP & | GetVertex (VID _t) const noexcept |
| |
| std::vector< VID > | GetChildren (const VID _vid) const noexcept |
| |
| size_t | GetInDegree (const VID _vid) noexcept |
| |
| std::vector< EI > | FindInboundEdges (const VID _vid) |
| |
| bool | GetEdge (const VID _source, const VID _target, EI &_ei) noexcept |
| |
| bool | GetEdge (const VID _source, const VID _target, CEI &_ei) const noexcept |
| |
| EP & | GetEdge (const VID _source, const VID _target) noexcept |
| |
| EP & | GetEdge (const EID _descriptor) noexcept |
| |
| bool | IsHook (const HookType, const std::string &_label) const |
| |
| void | InstallHook (const HookType _type, const std::string &_label, const VertexHook &_h) |
| |
| void | InstallHook (const HookType _type, const std::string &_label, const EdgeHook &_h) |
| |
| void | RemoveHook (const HookType _type, const std::string &_label) |
| |
| void | DisableHooks () noexcept |
| |
| void | EnableHooks () noexcept |
| | Enable the hook functions (default). More...
|
| |
template<typename Vertex, typename Edge>
class GroupRoadmap< Vertex, Edge >
Represents a roadmap for a robot group.
Rather than duplicating the data for each robot, this object refers to an individual roadmap for each robot. This object however does not own the individual roadmaps - it merely points to them.
Note that VIDs in this object refer to GROUP configuration VIDs.