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(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 * 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 154 of file Vertex.h.


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