|
|
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.