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

Public Member Functions

 Vertex (const ompl::base::SpaceInformationPtr &spaceInformation, const ompl::base::ProblemDefinitionPtr &problemDefinition, const std::size_t &batchId)
 Constructs a vertex by sampling a state.
 
virtual ~Vertex ()
 Destructs the vertex.
 
std::size_t getId () const
 Get the unique id of this vertex.
 
ompl::base::StategetState ()
 Provides write access to the underlying state.
 
ompl::base::State const * getState () const
 Provides read access to the underlying state.
 
ompl::base::ScopedState getScopedState () const
 Returns a scoped copy of the underlying state.
 
ompl::base::Cost getCostToComeFromStart () const
 Returns the cost to come to this vertex from the start.
 
ompl::base::Cost getCostToComeFromGoal () const
 Returns the cost to come to this vertex from the goal.
 
ompl::base::Cost getExpandedCostToComeFromGoal () const
 Returns the cost to come to this vertex from the goal when it was expanded.
 
ompl::base::Cost getCostToGoToGoal () const
 Returns the cost to go heuristic from this vertex.
 
ompl::base::Cost getEdgeCostFromForwardParent () const
 Returns the edge cost from the forward parent.
 
bool hasForwardParent () const
 Returns whether this vertex has a parent in the forward search.
 
void setForwardParent (const std::shared_ptr< Vertex > &vertex, const ompl::base::Cost &edgeCost)
 Sets the parent vertex (in the forward-search tree).
 
void resetForwardParent ()
 Resets the forward parent of the vertex.
 
bool hasReverseParent () const
 Returns whether this vertex has a parent in the reverse search.
 
void setReverseParent (const std::shared_ptr< Vertex > &vertex)
 Sets the parent vertex (in the reverse-search tree).
 
void resetReverseParent ()
 Resets the reverse parent of the vertex.
 
std::shared_ptr< VertexgetForwardParent () const
 Returns the parent of the vertex (in the forward-search tree).
 
std::shared_ptr< VertexgetReverseParent () const
 Returns the parent of the vertex (in the reverse-search tree).
 
void setForwardEdgeCost (const ompl::base::Cost &cost)
 Sets the cost to come to this vertex.
 
void setCostToComeFromStart (const ompl::base::Cost &cost)
 Sets the cost to come to this vertex.
 
void setCostToComeFromGoal (const ompl::base::Cost &cost)
 Sets the cost to come to this vertex from the goal.
 
void setExpandedCostToComeFromGoal (const ompl::base::Cost &cost)
 Sets the cost to come to this vertex from the goal when it was expanded.
 
void setCostToGoToGoal (const ompl::base::Cost &cost)
 Sets the cost to go heuristic of this vertex.
 
void updateCostOfForwardBranch () const
 Updates the cost to the whole branch rooted at this vertex.
 
std::vector< std::weak_ptr< aitstar::Vertex > > invalidateReverseBranch ()
 Recursively invalidates the branch of the reverse tree rooted in this vertex.
 
std::vector< std::weak_ptr< aitstar::Vertex > > invalidateForwardBranch ()
 Recursively invalidates the branch of the forward tree rooted in this vertex.
 
void addToForwardChildren (const std::shared_ptr< Vertex > &vertex)
 Adds a vertex to this vertex's forward children.
 
void removeFromForwardChildren (std::size_t vertexId)
 Removes a vertex from this vertex's forward children.
 
std::vector< std::shared_ptr< Vertex > > getForwardChildren () const
 Returns this vertex's children in the forward search tree.
 
void addToReverseChildren (const std::shared_ptr< Vertex > &vertex)
 Adds a vertex this vertex's children.
 
void removeFromReverseChildren (std::size_t vertexId)
 Removes a vertex from this vertex's forward children.
 
std::vector< std::shared_ptr< Vertex > > getReverseChildren () const
 Returns this vertex's children in the reverse search tree.
 
void whitelistAsChild (const std::shared_ptr< Vertex > &vertex) const
 Whitelists a child.
 
bool isWhitelistedAsChild (const std::shared_ptr< Vertex > &vertex) const
 Returns whether a child is whitelisted.
 
void blacklistAsChild (const std::shared_ptr< Vertex > &vertex) const
 Blacklists a child.
 
bool isBlacklistedAsChild (const std::shared_ptr< Vertex > &vertex) const
 Returns whether a child is blacklisted.
 
bool hasCachedNeighbors () const
 Returns whether the vertex knows its nearest neighbors on the current approximation.
 
void cacheNeighbors (const std::vector< std::shared_ptr< Vertex > > &neighbors) const
 Caches the neighbors for the current approximation.
 
const std::vector< std::shared_ptr< Vertex > > & getNeighbors () const
 Returns the nearest neighbors, throws if not up to date.
 
void registerPoppedOutgoingEdgeDuringForwardSearch ()
 Registers that a child has been added to this vertex during the current forward search.
 
void registerExpansionDuringReverseSearch ()
 Registers the expansion of this vertex during the current reverse search.
 
void unregisterExpansionDuringReverseSearch ()
 Unregisters the expansion of this vertex during the current reverse search, needed when a reverse branch is invalidated due to a collision detection on an edge.
 
void registerInsertionIntoQueueDuringReverseSearch ()
 Registers the insertion of this vertex into the open queue during the current reverse search.
 
bool hasHadOutgoingEdgePoppedDuringCurrentForwardSearch () const
 Returns whether the vertex has had an outgoing edge popped during the current forward search.
 
bool hasBeenExpandedDuringCurrentReverseSearch () const
 Returns whether the vertex has been expanded during the current reverse search.
 
bool hasBeenInsertedIntoQueueDuringCurrentReverseSearch () const
 Returns whether the vertex has been inserted into the queue during the current reverse search.
 
void setReverseQueuePointer (typename ompl::BinaryHeap< std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > >, std::function< bool(const std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &, const std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &)> >::Element *pointer)
 Sets the reverse queue pointer of this vertex.
 
ompl::BinaryHeap< std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > >, std::function< bool(conststd::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &, conststd::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &)> >::Element * getReverseQueuePointer () const
 Returns the reverse queue pointer of this vertex.
 
void resetReverseQueuePointer ()
 Resets the reverse queue pointer.
 
void addToForwardQueueIncomingLookup (typename ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *pointer)
 Adds an element to the forward queue incoming lookup.
 
void addToForwardQueueOutgoingLookup (typename ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *pointer)
 Adds an element to the forward queue outgoing lookup.
 
std::vector< ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element * > getForwardQueueIncomingLookup () const
 Returns the forward queue incoming lookup of this vertex.
 
std::vector< ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element * > getForwardQueueOutgoingLookup () const
 Returns the forward queue outgoing lookup of this vertex.
 
void removeFromForwardQueueIncomingLookup (ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *element)
 Remove an element from the incoming queue lookup.
 
void removeFromForwardQueueOutgoingLookup (ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *element)
 Remove an element from the outgoing queue lookup.
 
void resetForwardQueueIncomingLookup ()
 Resets the forward queue incoming lookup.
 
void resetForwardQueueOutgoingLookup ()
 Resets the forward queue outgoing lookup.
 

Detailed Description

Definition at line 58 of file Vertex.h.

Constructor & Destructor Documentation

◆ Vertex()

ompl::geometric::aitstar::Vertex::Vertex ( const ompl::base::SpaceInformationPtr spaceInformation,
const ompl::base::ProblemDefinitionPtr problemDefinition,
const std::size_t &  batchId 
)

Constructs a vertex by sampling a state.

Definition at line 63 of file Vertex.cpp.

◆ ~Vertex()

ompl::geometric::aitstar::Vertex::~Vertex ( )
virtual

Destructs the vertex.

Definition at line 82 of file Vertex.cpp.

Member Function Documentation

◆ addToForwardChildren()

void ompl::geometric::aitstar::Vertex::addToForwardChildren ( const std::shared_ptr< Vertex > &  vertex)

Adds a vertex to this vertex's forward children.

Definition at line 279 of file Vertex.cpp.

◆ addToForwardQueueIncomingLookup()

void ompl::geometric::aitstar::Vertex::addToForwardQueueIncomingLookup ( typename ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *  pointer)

Adds an element to the forward queue incoming lookup.

Definition at line 471 of file Vertex.cpp.

◆ addToForwardQueueOutgoingLookup()

void ompl::geometric::aitstar::Vertex::addToForwardQueueOutgoingLookup ( typename ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *  pointer)

Adds an element to the forward queue outgoing lookup.

Definition at line 478 of file Vertex.cpp.

◆ addToReverseChildren()

void ompl::geometric::aitstar::Vertex::addToReverseChildren ( const std::shared_ptr< Vertex > &  vertex)

Adds a vertex this vertex's children.

Definition at line 303 of file Vertex.cpp.

◆ blacklistAsChild()

void ompl::geometric::aitstar::Vertex::blacklistAsChild ( const std::shared_ptr< Vertex > &  vertex) const

Blacklists a child.

Definition at line 344 of file Vertex.cpp.

◆ cacheNeighbors()

void ompl::geometric::aitstar::Vertex::cacheNeighbors ( const std::vector< std::shared_ptr< Vertex > > &  neighbors) const

Caches the neighbors for the current approximation.

Definition at line 366 of file Vertex.cpp.

◆ getCostToComeFromGoal()

ompl::base::Cost ompl::geometric::aitstar::Vertex::getCostToComeFromGoal ( ) const

Returns the cost to come to this vertex from the goal.

Definition at line 113 of file Vertex.cpp.

◆ getCostToComeFromStart()

ompl::base::Cost ompl::geometric::aitstar::Vertex::getCostToComeFromStart ( ) const

Returns the cost to come to this vertex from the start.

Definition at line 108 of file Vertex.cpp.

◆ getCostToGoToGoal()

ompl::base::Cost ompl::geometric::aitstar::Vertex::getCostToGoToGoal ( ) const

Returns the cost to go heuristic from this vertex.

Definition at line 131 of file Vertex.cpp.

◆ getEdgeCostFromForwardParent()

ompl::base::Cost ompl::geometric::aitstar::Vertex::getEdgeCostFromForwardParent ( ) const

Returns the edge cost from the forward parent.

Definition at line 136 of file Vertex.cpp.

◆ getExpandedCostToComeFromGoal()

ompl::base::Cost ompl::geometric::aitstar::Vertex::getExpandedCostToComeFromGoal ( ) const

Returns the cost to come to this vertex from the goal when it was expanded.

Definition at line 122 of file Vertex.cpp.

◆ getForwardChildren()

std::vector< std::shared_ptr< Vertex > > ompl::geometric::aitstar::Vertex::getForwardChildren ( ) const

Returns this vertex's children in the forward search tree.

Definition at line 382 of file Vertex.cpp.

◆ getForwardParent()

std::shared_ptr< Vertex > ompl::geometric::aitstar::Vertex::getForwardParent ( ) const

Returns the parent of the vertex (in the forward-search tree).

Definition at line 149 of file Vertex.cpp.

◆ getForwardQueueIncomingLookup()

std::vector< ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element * > ompl::geometric::aitstar::Vertex::getForwardQueueIncomingLookup ( ) const

Returns the forward queue incoming lookup of this vertex.

Definition at line 487 of file Vertex.cpp.

◆ getForwardQueueOutgoingLookup()

std::vector< ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element * > ompl::geometric::aitstar::Vertex::getForwardQueueOutgoingLookup ( ) const

Returns the forward queue outgoing lookup of this vertex.

Definition at line 494 of file Vertex.cpp.

◆ getId()

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

Get the unique id of this vertex.

Definition at line 88 of file Vertex.cpp.

◆ getNeighbors()

const std::vector< std::shared_ptr< Vertex > > & ompl::geometric::aitstar::Vertex::getNeighbors ( ) const

Returns the nearest neighbors, throws if not up to date.

Definition at line 372 of file Vertex.cpp.

◆ getReverseChildren()

std::vector< std::shared_ptr< Vertex > > ompl::geometric::aitstar::Vertex::getReverseChildren ( ) const

Returns this vertex's children in the reverse search tree.

Definition at line 393 of file Vertex.cpp.

◆ getReverseParent()

std::shared_ptr< Vertex > ompl::geometric::aitstar::Vertex::getReverseParent ( ) const

Returns the parent of the vertex (in the reverse-search tree).

Definition at line 159 of file Vertex.cpp.

◆ getReverseQueuePointer()

ompl::BinaryHeap< std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > >, std::function< bool(conststd::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &, conststd::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &)> >::Element * ompl::geometric::aitstar::Vertex::getReverseQueuePointer ( ) const

Returns the reverse queue pointer of this vertex.

Definition at line 457 of file Vertex.cpp.

◆ getScopedState()

ompl::base::ScopedState ompl::geometric::aitstar::Vertex::getScopedState ( ) const

Returns a scoped copy of the underlying state.

Definition at line 103 of file Vertex.cpp.

◆ getState() [1/2]

ompl::base::State * ompl::geometric::aitstar::Vertex::getState ( )

Provides write access to the underlying state.

Definition at line 93 of file Vertex.cpp.

◆ getState() [2/2]

ompl::base::State const * ompl::geometric::aitstar::Vertex::getState ( ) const

Provides read access to the underlying state.

Definition at line 98 of file Vertex.cpp.

◆ hasBeenExpandedDuringCurrentReverseSearch()

bool ompl::geometric::aitstar::Vertex::hasBeenExpandedDuringCurrentReverseSearch ( ) const

Returns whether the vertex has been expanded during the current reverse search.

Definition at line 431 of file Vertex.cpp.

◆ hasBeenInsertedIntoQueueDuringCurrentReverseSearch()

bool ompl::geometric::aitstar::Vertex::hasBeenInsertedIntoQueueDuringCurrentReverseSearch ( ) const

Returns whether the vertex has been inserted into the queue during the current reverse search.

Definition at line 436 of file Vertex.cpp.

◆ hasCachedNeighbors()

bool ompl::geometric::aitstar::Vertex::hasCachedNeighbors ( ) const

Returns whether the vertex knows its nearest neighbors on the current approximation.

Definition at line 361 of file Vertex.cpp.

◆ hasForwardParent()

bool ompl::geometric::aitstar::Vertex::hasForwardParent ( ) const

Returns whether this vertex has a parent in the forward search.

Definition at line 141 of file Vertex.cpp.

◆ hasHadOutgoingEdgePoppedDuringCurrentForwardSearch()

bool ompl::geometric::aitstar::Vertex::hasHadOutgoingEdgePoppedDuringCurrentForwardSearch ( ) const

Returns whether the vertex has had an outgoing edge popped during the current forward search.

Definition at line 426 of file Vertex.cpp.

◆ hasReverseParent()

bool ompl::geometric::aitstar::Vertex::hasReverseParent ( ) const

Returns whether this vertex has a parent in the reverse search.

Definition at line 154 of file Vertex.cpp.

◆ invalidateForwardBranch()

std::vector< std::weak_ptr< aitstar::Vertex > > ompl::geometric::aitstar::Vertex::invalidateForwardBranch ( )

Recursively invalidates the branch of the forward tree rooted in this vertex.

Definition at line 221 of file Vertex.cpp.

◆ invalidateReverseBranch()

std::vector< std::weak_ptr< aitstar::Vertex > > ompl::geometric::aitstar::Vertex::invalidateReverseBranch ( )

Recursively invalidates the branch of the reverse tree rooted in this vertex.

Definition at line 201 of file Vertex.cpp.

◆ isBlacklistedAsChild()

bool ompl::geometric::aitstar::Vertex::isBlacklistedAsChild ( const std::shared_ptr< Vertex > &  vertex) const

Returns whether a child is blacklisted.

Definition at line 349 of file Vertex.cpp.

◆ isWhitelistedAsChild()

bool ompl::geometric::aitstar::Vertex::isWhitelistedAsChild ( const std::shared_ptr< Vertex > &  vertex) const

Returns whether a child is whitelisted.

Definition at line 332 of file Vertex.cpp.

◆ registerExpansionDuringReverseSearch()

void ompl::geometric::aitstar::Vertex::registerExpansionDuringReverseSearch ( )

Registers the expansion of this vertex during the current reverse search.

Definition at line 410 of file Vertex.cpp.

◆ registerInsertionIntoQueueDuringReverseSearch()

void ompl::geometric::aitstar::Vertex::registerInsertionIntoQueueDuringReverseSearch ( )

Registers the insertion of this vertex into the open queue during the current reverse search.

Definition at line 421 of file Vertex.cpp.

◆ registerPoppedOutgoingEdgeDuringForwardSearch()

void ompl::geometric::aitstar::Vertex::registerPoppedOutgoingEdgeDuringForwardSearch ( )

Registers that a child has been added to this vertex during the current forward search.

Definition at line 405 of file Vertex.cpp.

◆ removeFromForwardChildren()

void ompl::geometric::aitstar::Vertex::removeFromForwardChildren ( std::size_t  vertexId)

Removes a vertex from this vertex's forward children.

Definition at line 284 of file Vertex.cpp.

◆ removeFromForwardQueueIncomingLookup()

void ompl::geometric::aitstar::Vertex::removeFromForwardQueueIncomingLookup ( ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *  element)

Remove an element from the incoming queue lookup.

Definition at line 499 of file Vertex.cpp.

◆ removeFromForwardQueueOutgoingLookup()

void ompl::geometric::aitstar::Vertex::removeFromForwardQueueOutgoingLookup ( ompl::BinaryHeap< aitstar::Edge, std::function< bool(const aitstar::Edge &, const aitstar::Edge &)> >::Element *  element)

Remove an element from the outgoing queue lookup.

Definition at line 507 of file Vertex.cpp.

◆ removeFromReverseChildren()

void ompl::geometric::aitstar::Vertex::removeFromReverseChildren ( std::size_t  vertexId)

Removes a vertex from this vertex's forward children.

Definition at line 308 of file Vertex.cpp.

◆ resetForwardParent()

void ompl::geometric::aitstar::Vertex::resetForwardParent ( )

Resets the forward parent of the vertex.

Definition at line 257 of file Vertex.cpp.

◆ resetForwardQueueIncomingLookup()

void ompl::geometric::aitstar::Vertex::resetForwardQueueIncomingLookup ( )

Resets the forward queue incoming lookup.

Definition at line 515 of file Vertex.cpp.

◆ resetForwardQueueOutgoingLookup()

void ompl::geometric::aitstar::Vertex::resetForwardQueueOutgoingLookup ( )

Resets the forward queue outgoing lookup.

Definition at line 520 of file Vertex.cpp.

◆ resetReverseParent()

void ompl::geometric::aitstar::Vertex::resetReverseParent ( )

Resets the reverse parent of the vertex.

Definition at line 274 of file Vertex.cpp.

◆ resetReverseQueuePointer()

void ompl::geometric::aitstar::Vertex::resetReverseQueuePointer ( )

Resets the reverse queue pointer.

Definition at line 466 of file Vertex.cpp.

◆ setCostToComeFromGoal()

void ompl::geometric::aitstar::Vertex::setCostToComeFromGoal ( const ompl::base::Cost cost)

Sets the cost to come to this vertex from the goal.

Definition at line 174 of file Vertex.cpp.

◆ setCostToComeFromStart()

void ompl::geometric::aitstar::Vertex::setCostToComeFromStart ( const ompl::base::Cost cost)

Sets the cost to come to this vertex.

Definition at line 169 of file Vertex.cpp.

◆ setCostToGoToGoal()

void ompl::geometric::aitstar::Vertex::setCostToGoToGoal ( const ompl::base::Cost cost)

Sets the cost to go heuristic of this vertex.

Definition at line 185 of file Vertex.cpp.

◆ setExpandedCostToComeFromGoal()

void ompl::geometric::aitstar::Vertex::setExpandedCostToComeFromGoal ( const ompl::base::Cost cost)

Sets the cost to come to this vertex from the goal when it was expanded.

Definition at line 180 of file Vertex.cpp.

◆ setForwardEdgeCost()

void ompl::geometric::aitstar::Vertex::setForwardEdgeCost ( const ompl::base::Cost cost)

Sets the cost to come to this vertex.

Definition at line 164 of file Vertex.cpp.

◆ setForwardParent()

void ompl::geometric::aitstar::Vertex::setForwardParent ( const std::shared_ptr< Vertex > &  vertex,
const ompl::base::Cost edgeCost 
)

Sets the parent vertex (in the forward-search tree).

Definition at line 239 of file Vertex.cpp.

◆ setReverseParent()

void ompl::geometric::aitstar::Vertex::setReverseParent ( const std::shared_ptr< Vertex > &  vertex)

Sets the parent vertex (in the reverse-search tree).

Definition at line 262 of file Vertex.cpp.

◆ setReverseQueuePointer()

void ompl::geometric::aitstar::Vertex::setReverseQueuePointer ( typename ompl::BinaryHeap< std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > >, std::function< bool(const std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &, const std::pair< std::array< ompl::base::Cost, 2u >, std::shared_ptr< Vertex > > &)>  ,
::Element *  pointer 
)

Sets the reverse queue pointer of this vertex.

Definition at line 441 of file Vertex.cpp.

◆ unregisterExpansionDuringReverseSearch()

void ompl::geometric::aitstar::Vertex::unregisterExpansionDuringReverseSearch ( )

Unregisters the expansion of this vertex during the current reverse search, needed when a reverse branch is invalidated due to a collision detection on an edge.

Definition at line 416 of file Vertex.cpp.

◆ updateCostOfForwardBranch()

void ompl::geometric::aitstar::Vertex::updateCostOfForwardBranch ( ) const

Updates the cost to the whole branch rooted at this vertex.

Definition at line 190 of file Vertex.cpp.

◆ whitelistAsChild()

void ompl::geometric::aitstar::Vertex::whitelistAsChild ( const std::shared_ptr< Vertex > &  vertex) const

Whitelists a child.

Definition at line 327 of file Vertex.cpp.


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