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>

Public Member Functions | |
| PlannerDataVertexAnnotated (const ompl::base::State *state) | |
| Constructor for base state. Set mode to baseMode. | |
| PlannerDataVertexAnnotated (const PlannerDataVertexAnnotated &rhs) | |
| virtual PlannerDataVertex * | clone () 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::State * | getState () 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::State * | getStateNonConst () const |
| Same as getState(), but state can be changed. | |
| const ompl::base::State * | getBaseState () 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::State * | stateBase_ {nullptr} |
| Internal reference to base state. Same as state_ in normal Mode to avoid confusion. | |
| ompl::base::State * | stateTotal_ {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 State * | state_ |
| 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 &out, const PlannerDataVertexAnnotated &v) |
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 55 of file PlannerDataVertexAnnotated.h.
Constructor & Destructor Documentation
◆ PlannerDataVertexAnnotated() [1/2]
| PlannerDataVertexAnnotated::PlannerDataVertexAnnotated | ( | const ompl::base::State * | state | ) |
Constructor for base state. Set mode to baseMode.
Definition at line 42 of file PlannerDataVertexAnnotated.cpp.
◆ PlannerDataVertexAnnotated() [2/2]
| PlannerDataVertexAnnotated::PlannerDataVertexAnnotated | ( | const PlannerDataVertexAnnotated & | rhs | ) |
Definition at line 48 of file PlannerDataVertexAnnotated.cpp.
◆ ~PlannerDataVertexAnnotated()
|
overridevirtual |
Definition at line 59 of file PlannerDataVertexAnnotated.cpp.
Member Function Documentation
◆ clone()
|
overridevirtual |
Return a clone of this object, allocated from the heap.
Reimplemented from ompl::base::PlannerDataVertex.
Definition at line 67 of file PlannerDataVertexAnnotated.cpp.
◆ getBaseState()
| const ompl::base::State * PlannerDataVertexAnnotated::getBaseState | ( | ) | const |
Returns base state, indepent of mode.
Definition at line 120 of file PlannerDataVertexAnnotated.cpp.
◆ getComponent()
| unsigned int PlannerDataVertexAnnotated::getComponent | ( | ) | const |
Definition at line 82 of file PlannerDataVertexAnnotated.cpp.
◆ getLevel()
| unsigned int PlannerDataVertexAnnotated::getLevel | ( | ) | const |
Definition at line 92 of file PlannerDataVertexAnnotated.cpp.
◆ getMaxLevel()
| unsigned int PlannerDataVertexAnnotated::getMaxLevel | ( | ) | const |
Definition at line 102 of file PlannerDataVertexAnnotated.cpp.
◆ getSpaceInformationPtr()
| ompl::base::SpaceInformationPtr PlannerDataVertexAnnotated::getSpaceInformationPtr | ( | ) | const |
Definition at line 77 of file PlannerDataVertexAnnotated.cpp.
◆ getState()
|
overridevirtual |
Returns base state in baseMode and total state in totalMode. The total space here is the last element of space sequence.
Reimplemented from ompl::base::PlannerDataVertex.
Definition at line 107 of file PlannerDataVertexAnnotated.cpp.
◆ getStateNonConst()
| ompl::base::State * PlannerDataVertexAnnotated::getStateNonConst | ( | ) | const |
Same as getState(), but state can be changed.
Definition at line 115 of file PlannerDataVertexAnnotated.cpp.
◆ operator==()
|
overridevirtual |
Verifies equality by checking level and base state (mode independent).
Definition at line 137 of file PlannerDataVertexAnnotated.cpp.
◆ setBaseState()
| void PlannerDataVertexAnnotated::setBaseState | ( | const ompl::base::State * | s | ) |
Explicitly changes base state (does not change mode).
Definition at line 125 of file PlannerDataVertexAnnotated.cpp.
◆ setComponent()
| void PlannerDataVertexAnnotated::setComponent | ( | unsigned int | component_ | ) |
The component of vertex in the graph (start, goal or other component).
Definition at line 72 of file PlannerDataVertexAnnotated.cpp.
◆ setLevel()
| void PlannerDataVertexAnnotated::setLevel | ( | unsigned int | level_ | ) |
The level of vertex in the bundle space hierarchy.
Definition at line 87 of file PlannerDataVertexAnnotated.cpp.
◆ setMaxLevel()
| void PlannerDataVertexAnnotated::setMaxLevel | ( | unsigned int | level_ | ) |
The maximum level in the bundle space hierarchy.
Definition at line 97 of file PlannerDataVertexAnnotated.cpp.
◆ setTotalState()
| void PlannerDataVertexAnnotated::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.
Definition at line 130 of file PlannerDataVertexAnnotated.cpp.
Friends And Related Symbol Documentation
◆ operator<<
|
friend |
Definition at line 144 of file PlannerDataVertexAnnotated.cpp.
Member Data Documentation
◆ component_
|
protected |
(Optional:) which component in roadmap does vertex belong to
Definition at line 119 of file PlannerDataVertexAnnotated.h.
◆ level_
|
protected |
The level for the base state.
Definition at line 112 of file PlannerDataVertexAnnotated.h.
◆ maxLevel_
|
protected |
How many spaces exists in the multilevel structure.
Definition at line 115 of file PlannerDataVertexAnnotated.h.
◆ si_
|
protected |
Pointer to total space (to free total space element upon deletion).
Definition at line 141 of file PlannerDataVertexAnnotated.h.
◆ stateBase_
|
protected |
Internal reference to base state. Same as state_ in normal Mode to avoid confusion.
Definition at line 134 of file PlannerDataVertexAnnotated.h.
◆ stateTotal_
|
protected |
Storage of total state.
Definition at line 137 of file PlannerDataVertexAnnotated.h.
◆ totalStateIsSet
|
protected |
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().
Definition at line 130 of file PlannerDataVertexAnnotated.h.
The documentation for this class was generated from the following files:
- ompl/multilevel/datastructures/PlannerDataVertexAnnotated.h
- ompl/multilevel/datastructures/src/PlannerDataVertexAnnotated.cpp