Loading...
Searching...
No Matches
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 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()

PlannerDataVertexAnnotated::~PlannerDataVertexAnnotated ( )
overridevirtual

Definition at line 59 of file PlannerDataVertexAnnotated.cpp.

Member Function Documentation

◆ clone()

ompl::base::PlannerDataVertex * PlannerDataVertexAnnotated::clone ( ) const
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()

const ompl::base::State * PlannerDataVertexAnnotated::getState ( ) const
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==()

bool PlannerDataVertexAnnotated::operator== ( const PlannerDataVertex & rhs) const
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<<

std::ostream & operator<< ( std::ostream & out,
const PlannerDataVertexAnnotated & v )
friend

Definition at line 144 of file PlannerDataVertexAnnotated.cpp.

Member Data Documentation

◆ component_

unsigned int ompl::multilevel::PlannerDataVertexAnnotated::component_ {0}
protected

(Optional:) which component in roadmap does vertex belong to

Definition at line 119 of file PlannerDataVertexAnnotated.h.

◆ level_

unsigned int ompl::multilevel::PlannerDataVertexAnnotated::level_ {0}
protected

The level for the base state.

Definition at line 112 of file PlannerDataVertexAnnotated.h.

◆ maxLevel_

unsigned int ompl::multilevel::PlannerDataVertexAnnotated::maxLevel_ {1}
protected

How many spaces exists in the multilevel structure.

Definition at line 115 of file PlannerDataVertexAnnotated.h.

◆ si_

ompl::base::SpaceInformationPtr ompl::multilevel::PlannerDataVertexAnnotated::si_ {nullptr}
protected

Pointer to total space (to free total space element upon deletion)

Definition at line 141 of file PlannerDataVertexAnnotated.h.

◆ stateBase_

const ompl::base::State* ompl::multilevel::PlannerDataVertexAnnotated::stateBase_ {nullptr}
protected

Internal reference to base state. Same as state_ in normal Mode to avoid confusion.

Definition at line 134 of file PlannerDataVertexAnnotated.h.

◆ stateTotal_

ompl::base::State* ompl::multilevel::PlannerDataVertexAnnotated::stateTotal_ {nullptr}
protected

Storage of total state.

Definition at line 137 of file PlannerDataVertexAnnotated.h.

◆ totalStateIsSet

bool ompl::multilevel::PlannerDataVertexAnnotated::totalStateIsSet {false}
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: