ompl::multilevel::PlannerDataVertexAnnotated Class Reference

An annotated vertex, adding information about its level in the multilevel hierarchy. Class has two modes: Mode 1 (baseMode), we store a reference to its base state element. In Mode 2 (totalMode), we store a deep copy of the lift of the base state into the total space (NOTE: required for PlannerData functions like decoupleFromPlanner()) More...

#include <ompl/multilevel/datastructures/PlannerDataVertexAnnotated.h>

Inheritance diagram for ompl::multilevel::PlannerDataVertexAnnotated:

Public Member Functions

 PlannerDataVertexAnnotated (const ompl::base::State *state)
 Constructor for base state. Set mode to baseMode.
 
 PlannerDataVertexAnnotated (const PlannerDataVertexAnnotated &rhs)
 
virtual PlannerDataVertexclone () const override
 Return a clone of this object, allocated from the heap.
 
void setLevel (unsigned int level_)
 The level of vertex in the bundle space hierarchy.
 
unsigned int getLevel () const
 
void setMaxLevel (unsigned int level_)
 The maximum level in the bundle space hierarchy.
 
unsigned int getMaxLevel () const
 
void setComponent (unsigned int component_)
 The component of vertex in the graph (start, goal or other component)
 
unsigned int getComponent () const
 
void setTotalState (ompl::base::State *s, ompl::base::SpaceInformationPtr si)
 Set total state, i.e. the lift of the base state to the total space (last Spaceinformationptr in sequence). NOTE: Changes mode to totalMode. NOTE: requires Spaceinformationptr (of total space) to free state.
 
void setBaseState (const ompl::base::State *s)
 Explicitly changes base state (does not change mode)
 
virtual const ompl::base::StategetState () const override
 Returns base state in baseMode and total state in totalMode. The total space here is the last element of space sequence.
 
ompl::base::StategetStateNonConst () const
 Same as getState(), but state can be changed.
 
const ompl::base::StategetBaseState () const
 Returns base state, indepent of mode.
 
ompl::base::SpaceInformationPtr getSpaceInformationPtr () const
 
virtual bool operator== (const PlannerDataVertex &rhs) const override
 Verifies equality by checking level and base state (mode independent)
 
- Public Member Functions inherited from ompl::base::PlannerDataVertex
 PlannerDataVertex (const State *st, int tag=0)
 Constructor. Takes a state pointer and an optional integer tag.
 
 PlannerDataVertex (const PlannerDataVertex &rhs)=default
 Copy constructor.
 
virtual int getTag () const
 Returns the integer tag associated with this vertex.
 
virtual void setTag (int tag)
 Set the integer tag associated with this vertex.
 
virtual bool operator== (const PlannerDataVertex &rhs) const
 Equivalence operator. Return true if the state pointers are equal.
 
bool operator!= (const PlannerDataVertex &rhs) const
 Returns true if this vertex is not equal to the argument. This is the complement of the == operator.
 

Protected Attributes

unsigned int level_ {0}
 The level for the base state.
 
unsigned int maxLevel_ {1}
 How many spaces exists in the multilevel structure.
 
unsigned int component_ {0}
 (Optional:) which component in roadmap does vertex belong to
 
bool totalStateIsSet {false}
 There are two modes. Mode 1 is the normal mode where this class contains a reference to the base state. In that case getState() returns the base state. Mode 2 is the total space mode, where we set a total state, in which case getState() returns the total state. Note that we require the class to be in Mode 2 for methods like PlannerData::decoupleFromPlanner(). You can put the class into Mode 2 by calling setTotalState()
 
const ompl::base::StatestateBase_ {nullptr}
 Internal reference to base state. Same as state_ in normal Mode to avoid confusion.
 
ompl::base::StatestateTotal_ {nullptr}
 Storage of total state.
 
ompl::base::SpaceInformationPtr si_ {nullptr}
 Pointer to total space (to free total space element upon deletion)
 
- Protected Attributes inherited from ompl::base::PlannerDataVertex
const Statestate_
 The state represented by this vertex.
 
int tag_
 A generic integer tag for this state. Not used for equivalence checking.
 

Friends

std::ostream & operator<< (std::ostream &, const PlannerDataVertexAnnotated &)
 

Additional Inherited Members

- Protected Member Functions inherited from ompl::base::PlannerDataVertex
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Detailed Description

An annotated vertex, adding information about its level in the multilevel hierarchy. Class has two modes: Mode 1 (baseMode), we store a reference to its base state element. In Mode 2 (totalMode), we store a deep copy of the lift of the base state into the total space (NOTE: required for PlannerData functions like decoupleFromPlanner())

Definition at line 121 of file PlannerDataVertexAnnotated.h.


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