Loading...
Searching...
No Matches
ompl::geometric::eitstar::Vertex Class Reference

The vertex class for both the forward and reverse search. More...

#include <ompl/geometric/planners/informedtrees/eitstar/Vertex.h>

Inheritance diagram for ompl::geometric::eitstar::Vertex:

Public Member Functions

 Vertex (const std::shared_ptr< State > &state, const std::shared_ptr< ompl::base::OptimizationObjective > &objective, const Direction &direction)
 Constructs the vertex, which must be associated with a state.
 ~Vertex ()
 Destructs this vertex.
std::size_t getId () const
 Gets the unique vertex-id of this vertex.
std::shared_ptr< StategetState () const
 Returns the state associated with this vertex.
const std::vector< std::shared_ptr< Vertex > > & getChildren () const
 Returns the children of this vertex.
bool hasChildren () const
 Returns whether this vertex has children.
std::vector< std::shared_ptr< Vertex > > updateCurrentCostOfChildren (const std::shared_ptr< ompl::base::OptimizationObjective > &objective)
 Update the cost-to-come of this vertex's children.
void addChild (const std::shared_ptr< Vertex > &vertex)
 Adds the given vertex to this vertex's children.
void removeChild (const std::shared_ptr< Vertex > &vertex)
 Removes the given vertex from this vertex's children.
std::weak_ptr< VertexgetParent () const
 Returns the parent of this vertex.
bool isParent (const std::shared_ptr< Vertex > &vertex) const
 Returns whether the given vertex is this vertex's parent.
std::weak_ptr< VertexgetTwin () const
 Returns the twin of this vertex, i.e., the vertex in the other search tree with the same underlying state.
void updateParent (const std::shared_ptr< Vertex > &vertex)
 Resets the parent of this vertex.
void setEdgeCost (const ompl::base::Cost &edgeCost)
 Sets the cost of the edge in the forward tree that leads to this vertex.
ompl::base::Cost getEdgeCost () const
 Returns the cost of the edge in the forward tree that leads to this vertex.
void resetParent ()
 Returns the parent of this vertex.
void setTwin (const std::shared_ptr< Vertex > &vertex)
 Sets the twin of this vertex, i.e., the vertex in the other search tree with the same underlying state.
void clearChildren ()
 Resets the children of this vertex.
std::size_t getExpandTag () const
 Returns the tag when this vertex was last expanded.
void registerExpansionInReverseSearch (std::size_t tag)
 Sets the expand tag when this vertex was last expanded.
void callOnBranch (const std::function< void(const std::shared_ptr< eitstar::State > &)> &function)
 Recursively calls the given function on this vertex and all its children in the tree.

Friends

class ReverseQueue
 The edge queue is a friend class to allow efficient updates of outgoing edges of this vertex in the queue.

Detailed Description

The vertex class for both the forward and reverse search.

Definition at line 60 of file Vertex.h.

Constructor & Destructor Documentation

◆ Vertex()

ompl::geometric::eitstar::Vertex::Vertex ( const std::shared_ptr< State > & state,
const std::shared_ptr< ompl::base::OptimizationObjective > & objective,
const Direction & direction )

Constructs the vertex, which must be associated with a state.

Definition at line 59 of file Vertex.cpp.

◆ ~Vertex()

ompl::geometric::eitstar::Vertex::~Vertex ( )

Destructs this vertex.

Definition at line 70 of file Vertex.cpp.

Member Function Documentation

◆ addChild()

void ompl::geometric::eitstar::Vertex::addChild ( const std::shared_ptr< Vertex > & vertex)

Adds the given vertex to this vertex's children.

Definition at line 121 of file Vertex.cpp.

◆ callOnBranch()

void ompl::geometric::eitstar::Vertex::callOnBranch ( const std::function< void(const std::shared_ptr< eitstar::State > &)> & function)

Recursively calls the given function on this vertex and all its children in the tree.

Definition at line 216 of file Vertex.cpp.

◆ clearChildren()

void ompl::geometric::eitstar::Vertex::clearChildren ( )

Resets the children of this vertex.

Definition at line 201 of file Vertex.cpp.

◆ getChildren()

const std::vector< std::shared_ptr< Vertex > > & ompl::geometric::eitstar::Vertex::getChildren ( ) const

Returns the children of this vertex.

Definition at line 95 of file Vertex.cpp.

◆ getEdgeCost()

ompl::base::Cost ompl::geometric::eitstar::Vertex::getEdgeCost ( ) const

Returns the cost of the edge in the forward tree that leads to this vertex.

Definition at line 171 of file Vertex.cpp.

◆ getExpandTag()

std::size_t ompl::geometric::eitstar::Vertex::getExpandTag ( ) const

Returns the tag when this vertex was last expanded.

Definition at line 206 of file Vertex.cpp.

◆ getId()

std::size_t ompl::geometric::eitstar::Vertex::getId ( ) const

Gets the unique vertex-id of this vertex.

Definition at line 85 of file Vertex.cpp.

◆ getParent()

std::weak_ptr< Vertex > ompl::geometric::eitstar::Vertex::getParent ( ) const

Returns the parent of this vertex.

Definition at line 146 of file Vertex.cpp.

◆ getState()

std::shared_ptr< State > ompl::geometric::eitstar::Vertex::getState ( ) const

Returns the state associated with this vertex.

Definition at line 90 of file Vertex.cpp.

◆ getTwin()

std::weak_ptr< Vertex > ompl::geometric::eitstar::Vertex::getTwin ( ) const

Returns the twin of this vertex, i.e., the vertex in the other search tree with the same underlying state.

Definition at line 161 of file Vertex.cpp.

◆ hasChildren()

bool ompl::geometric::eitstar::Vertex::hasChildren ( ) const

Returns whether this vertex has children.

Definition at line 100 of file Vertex.cpp.

◆ isParent()

bool ompl::geometric::eitstar::Vertex::isParent ( const std::shared_ptr< Vertex > & vertex) const

Returns whether the given vertex is this vertex's parent.

Definition at line 151 of file Vertex.cpp.

◆ registerExpansionInReverseSearch()

void ompl::geometric::eitstar::Vertex::registerExpansionInReverseSearch ( std::size_t tag)

Sets the expand tag when this vertex was last expanded.

Definition at line 211 of file Vertex.cpp.

◆ removeChild()

void ompl::geometric::eitstar::Vertex::removeChild ( const std::shared_ptr< Vertex > & vertex)

Removes the given vertex from this vertex's children.

Definition at line 129 of file Vertex.cpp.

◆ resetParent()

void ompl::geometric::eitstar::Vertex::resetParent ( )

Returns the parent of this vertex.

Definition at line 191 of file Vertex.cpp.

◆ setEdgeCost()

void ompl::geometric::eitstar::Vertex::setEdgeCost ( const ompl::base::Cost & edgeCost)

Sets the cost of the edge in the forward tree that leads to this vertex.

Definition at line 166 of file Vertex.cpp.

◆ setTwin()

void ompl::geometric::eitstar::Vertex::setTwin ( const std::shared_ptr< Vertex > & vertex)

Sets the twin of this vertex, i.e., the vertex in the other search tree with the same underlying state.

Definition at line 196 of file Vertex.cpp.

◆ updateCurrentCostOfChildren()

std::vector< std::shared_ptr< Vertex > > ompl::geometric::eitstar::Vertex::updateCurrentCostOfChildren ( const std::shared_ptr< ompl::base::OptimizationObjective > & objective)

Update the cost-to-come of this vertex's children.

Definition at line 106 of file Vertex.cpp.

◆ updateParent()

void ompl::geometric::eitstar::Vertex::updateParent ( const std::shared_ptr< Vertex > & vertex)

Resets the parent of this vertex.

Definition at line 176 of file Vertex.cpp.

◆ ReverseQueue

friend class ReverseQueue
friend

The edge queue is a friend class to allow efficient updates of outgoing edges of this vertex in the queue.

Definition at line 161 of file Vertex.h.


The documentation for this class was generated from the following files:
  • ompl/geometric/planners/informedtrees/eitstar/Vertex.h
  • ompl/geometric/planners/informedtrees/eitstar/src/Vertex.cpp