Drake
Drake C++ Documentation
Loading...
Searching...
No Matches
ImplicitGraphOfConvexSetsFromExplicit Class Referencefinal

Detailed Description

Provides an implicit GCS interface given an explicit GCS.

Vertices and edges are cloned into the implicit GCS as they are expanded.

#include <drake/geometry/optimization/implicit_graph_of_convex_sets.h>

Public Member Functions

 ImplicitGraphOfConvexSetsFromExplicit (const GraphOfConvexSets &gcs)
 Constructs an implicit GCS from an explicit GCS.
virtual ~ImplicitGraphOfConvexSetsFromExplicit ()
GraphOfConvexSets::VertexImplicitVertexFromExplicit (const GraphOfConvexSets::Vertex &v_explicit)
 Looks up the implicit vertex corresponding to v.
Does not allow copy, move, or assignment
 ImplicitGraphOfConvexSetsFromExplicit (const ImplicitGraphOfConvexSetsFromExplicit &)=delete
ImplicitGraphOfConvexSetsFromExplicitoperator= (const ImplicitGraphOfConvexSetsFromExplicit &)=delete
 ImplicitGraphOfConvexSetsFromExplicit (ImplicitGraphOfConvexSetsFromExplicit &&)=delete
ImplicitGraphOfConvexSetsFromExplicitoperator= (ImplicitGraphOfConvexSetsFromExplicit &&)=delete
Public Member Functions inherited from ImplicitGraphOfConvexSets
virtual ~ImplicitGraphOfConvexSets ()
std::vector< GraphOfConvexSets::Edge * > Successors (GraphOfConvexSets::Vertex *v)
 Returns the outgoing edges from v, which defines the "successors" of v in the common notation of implicit graph search.
void ExpandRecursively (GraphOfConvexSets::Vertex *v, int max_successor_calls=1000)
 Makes repeated recursive calls to Successors() until no new vertices will be added to the graph, or max_successor_calls has been reached.
const GraphOfConvexSetsgcs () const
 ImplicitGraphOfConvexSets (const ImplicitGraphOfConvexSets &)=delete
ImplicitGraphOfConvexSetsoperator= (const ImplicitGraphOfConvexSets &)=delete
 ImplicitGraphOfConvexSets (ImplicitGraphOfConvexSets &&)=delete
ImplicitGraphOfConvexSetsoperator= (ImplicitGraphOfConvexSets &&)=delete

Protected Member Functions

void Expand (GraphOfConvexSets::Vertex *) override
 Expands a vertex v by adding its outgoing edges (and the vertices that they point to) to the mutable_gcs(), calling mutable_gcs().AddVertex() and mutable_gcs().AddEdge() as needed.
Protected Member Functions inherited from ImplicitGraphOfConvexSets
 ImplicitGraphOfConvexSets ()
 Constructs the (empty) implicit GCS.
GraphOfConvexSetsmutable_gcs ()

Constructor & Destructor Documentation

◆ ImplicitGraphOfConvexSetsFromExplicit() [1/3]

ImplicitGraphOfConvexSetsFromExplicit ( const ImplicitGraphOfConvexSetsFromExplicit & )
delete

◆ ImplicitGraphOfConvexSetsFromExplicit() [2/3]

ImplicitGraphOfConvexSetsFromExplicit ( ImplicitGraphOfConvexSetsFromExplicit && )
delete

◆ ImplicitGraphOfConvexSetsFromExplicit() [3/3]

ImplicitGraphOfConvexSetsFromExplicit ( const GraphOfConvexSets & gcs)
explicit

Constructs an implicit GCS from an explicit GCS.

gcs must remain valid for the lifetime of this object.

◆ ~ImplicitGraphOfConvexSetsFromExplicit()

Member Function Documentation

◆ Expand()

void Expand ( GraphOfConvexSets::Vertex * v)
overrideprotectedvirtual

Expands a vertex v by adding its outgoing edges (and the vertices that they point to) to the mutable_gcs(), calling mutable_gcs().AddVertex() and mutable_gcs().AddEdge() as needed.

Due to a caching mechanism, implementations can assume that Expand(v) will only be called once for each v.

Implements ImplicitGraphOfConvexSets.

◆ ImplicitVertexFromExplicit()

GraphOfConvexSets::Vertex * ImplicitVertexFromExplicit ( const GraphOfConvexSets::Vertex & v_explicit)

Looks up the implicit vertex corresponding to v.

If v is not already in the implicit GCS, it is added.

Exceptions
std::exceptionif v is not registered with the explicit GCS passed in the constructor.

◆ operator=() [1/2]

◆ operator=() [2/2]


The documentation for this class was generated from the following file: