
Public Member Functions | |
XXLPositionDecomposition (const base::RealVectorBounds &bounds, const std::vector< int > &slices, bool diagonalEdges=false) | |
virtual int | getNumRegions () const |
Returns the number of regions in this XXLDecomposition. | |
virtual int | getDimension () const |
Return the dimension of this HiLoDecomposition. | |
virtual int | numLayers () const =0 |
Return the number of layers possible in this decomposition. Must be at least 1. | |
virtual int | locateRegion (const base::State *s) const |
Return the id of the region that this state falls in. | |
virtual int | locateRegion (const std::vector< double > &coord) const |
Return the id of the region that this coordinate falls in. | |
virtual void | getNeighbors (int rid, std::vector< int > &neighbors) const |
Stores the given region's neighbors into a given vector. | |
virtual void | getNeighborhood (int rid, std::vector< int > &neighborhood) const |
Stores the given region's neighbors into the vector. This returns the 8-connected grid neighbors of the cell, regardless of whether diagonal edges exist. | |
virtual double | distanceHeuristic (int r1, int r2) const |
An admissible and consistent distance heuristic between two regions. Manhattan distance on grid. | |
virtual bool | sampleFromRegion (int r, base::State *s, const base::State *seed=nullptr) const =0 |
Sample a state s from region r in layer 0. | |
virtual bool | sampleFromRegion (int r, base::State *s, const base::State *seed, int layer) const =0 |
Sample a state s from region r in the given layer. | |
virtual void | project (const base::State *s, std::vector< double > &coord, int layer=0) const =0 |
Project the given State into the XXLDecomposition. | |
virtual void | project (const base::State *s, std::vector< int > &layers) const =0 |
Project the state into the decomposition and retrieve the region for all valid layers. | |
void | ridToGridCell (int rid, std::vector< int > &cell) const |
int | gridCellToRid (const std::vector< int > &cell) const |
Return the region id corresponding to the (discrete) grid cell coordinates. | |
int | coordToRegion (const std::vector< double > &coord) const |
Return the region id of the given coordinate in the decomposition. | |
int | coordToRegion (const double *coord) const |
bool | hasDiagonalEdges () const |
Return true if the decomposition has diagonal edges. | |
![]() | |
XXLDecomposition () | |
Constructor. | |
virtual bool | canSteer () const |
Returns true if the method steerToRegion is available. | |
virtual bool | steerToRegion (int, int, const ompl::base::State *, std::vector< ompl::base::State * > &) const |
Protected Member Functions | |
void | getNonDiagonalNeighbors (int rid, std::vector< int > &neighbors) const |
void | getDiagonalNeighbors (int rid, std::vector< int > &neighbors) const |
Protected Attributes | |
base::RealVectorBounds | bounds_ |
const std::vector< int > | slices_ |
std::vector< double > | cellSizes_ |
bool | diagonalEdges_ |
int | numRegions_ |
Detailed Description
Definition at line 49 of file XXLPositionDecomposition.h.
Constructor & Destructor Documentation
◆ XXLPositionDecomposition()
ompl::geometric::XXLPositionDecomposition::XXLPositionDecomposition | ( | const base::RealVectorBounds & | bounds, |
const std::vector< int > & | slices, | ||
bool | diagonalEdges = false ) |
Definition at line 41 of file XXLPositionDecomposition.cpp.
◆ ~XXLPositionDecomposition()
|
virtual |
Definition at line 64 of file XXLPositionDecomposition.cpp.
Member Function Documentation
◆ coordToRegion() [1/2]
int ompl::geometric::XXLPositionDecomposition::coordToRegion | ( | const double * | coord | ) | const |
Definition at line 151 of file XXLPositionDecomposition.cpp.
◆ coordToRegion() [2/2]
int ompl::geometric::XXLPositionDecomposition::coordToRegion | ( | const std::vector< double > & | coord | ) | const |
Return the region id of the given coordinate in the decomposition.
Definition at line 146 of file XXLPositionDecomposition.cpp.
◆ distanceHeuristic()
|
virtual |
An admissible and consistent distance heuristic between two regions. Manhattan distance on grid.
Implements ompl::geometric::XXLDecomposition.
Definition at line 103 of file XXLPositionDecomposition.cpp.
◆ getDiagonalNeighbors()
|
protected |
Definition at line 189 of file XXLPositionDecomposition.cpp.
◆ getDimension()
|
virtual |
Return the dimension of this HiLoDecomposition.
Implements ompl::geometric::XXLDecomposition.
Definition at line 73 of file XXLPositionDecomposition.cpp.
◆ getNeighborhood()
|
virtual |
Stores the given region's neighbors into the vector. This returns the 8-connected grid neighbors of the cell, regardless of whether diagonal edges exist.
Reimplemented from ompl::geometric::XXLDecomposition.
Definition at line 98 of file XXLPositionDecomposition.cpp.
◆ getNeighbors()
|
virtual |
Stores the given region's neighbors into a given vector.
Implements ompl::geometric::XXLDecomposition.
Definition at line 90 of file XXLPositionDecomposition.cpp.
◆ getNonDiagonalNeighbors()
|
protected |
Definition at line 164 of file XXLPositionDecomposition.cpp.
◆ getNumRegions()
|
virtual |
Returns the number of regions in this XXLDecomposition.
Implements ompl::geometric::XXLDecomposition.
Definition at line 68 of file XXLPositionDecomposition.cpp.
◆ gridCellToRid()
int ompl::geometric::XXLPositionDecomposition::gridCellToRid | ( | const std::vector< int > & | cell | ) | const |
Return the region id corresponding to the (discrete) grid cell coordinates.
Definition at line 134 of file XXLPositionDecomposition.cpp.
◆ hasDiagonalEdges()
bool ompl::geometric::XXLPositionDecomposition::hasDiagonalEdges | ( | ) | const |
Return true if the decomposition has diagonal edges.
Definition at line 159 of file XXLPositionDecomposition.cpp.
◆ locateRegion() [1/2]
|
virtual |
Return the id of the region that this state falls in.
Implements ompl::geometric::XXLDecomposition.
Definition at line 78 of file XXLPositionDecomposition.cpp.
◆ locateRegion() [2/2]
|
virtual |
Return the id of the region that this coordinate falls in.
Implements ompl::geometric::XXLDecomposition.
Definition at line 85 of file XXLPositionDecomposition.cpp.
◆ numLayers()
|
pure virtual |
Return the number of layers possible in this decomposition. Must be at least 1.
Implements ompl::geometric::XXLDecomposition.
◆ project() [1/2]
|
pure virtual |
Project the given State into the XXLDecomposition.
Implements ompl::geometric::XXLDecomposition.
◆ project() [2/2]
|
pure virtual |
Project the state into the decomposition and retrieve the region for all valid layers.
Implements ompl::geometric::XXLDecomposition.
◆ ridToGridCell()
void ompl::geometric::XXLPositionDecomposition::ridToGridCell | ( | int | rid, |
std::vector< int > & | cell ) const |
Definition at line 119 of file XXLPositionDecomposition.cpp.
◆ sampleFromRegion() [1/2]
|
pure virtual |
Sample a state s from region r in the given layer.
Implements ompl::geometric::XXLDecomposition.
◆ sampleFromRegion() [2/2]
|
pure virtual |
Sample a state s from region r in layer 0.
Implements ompl::geometric::XXLDecomposition.
Member Data Documentation
◆ bounds_
|
protected |
Definition at line 113 of file XXLPositionDecomposition.h.
◆ cellSizes_
|
protected |
Definition at line 118 of file XXLPositionDecomposition.h.
◆ diagonalEdges_
|
protected |
Definition at line 121 of file XXLPositionDecomposition.h.
◆ numRegions_
|
protected |
Definition at line 123 of file XXLPositionDecomposition.h.
◆ slices_
|
protected |
Definition at line 116 of file XXLPositionDecomposition.h.
The documentation for this class was generated from the following files:
- ompl/geometric/planners/xxl/XXLPositionDecomposition.h
- ompl/geometric/planners/xxl/src/XXLPositionDecomposition.cpp