
Public Member Functions | |
XXLPlanarDecomposition (const base::RealVectorBounds &xyBounds, const std::vector< int > &xySlices, const int thetaSlices, bool diagonalEdges=false) | |
XXLPlanarDecomposition (const base::RealVectorBounds &xyBounds, const std::vector< int > &xySlices, const int thetaSlices, double thetaLowerBound, double thetaUpperBound, bool diagonalEdges=false) | |
virtual int | getNumRegions () const |
Return the total number of regions in this decomposition. | |
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 | constructGraph () |
void | getNonDiagonalNeighbors (int rid, std::vector< int > &neighbors) const |
void | getDiagonalNeighbors (int rid, std::vector< int > &neighbors) const |
void | sampleCoordinateFromRegion (int r, std::vector< double > &coord) const |
void | sampleCoordinateFromRegion (int r, double *coord) const |
Protected Attributes | |
bool | diagonalEdges_ |
base::RealVectorBounds | xyBounds_ |
double | thetaLow_ {-boost::math::constants::pi<double>()} |
double | thetaHigh_ {boost::math::constants::pi<double>()} |
std::vector< int > | xySlices_ |
int | thetaSlices_ |
int | numRegions_ |
double | dx_ |
double | dy_ |
double | xSize_ |
double | ySize_ |
double | dTheta_ |
double | thetaSize_ |
int | dimension_ |
ompl::RNG | rng_ |
Detailed Description
Definition at line 50 of file XXLPlanarDecomposition.h.
Constructor & Destructor Documentation
◆ XXLPlanarDecomposition() [1/2]
ompl::geometric::XXLPlanarDecomposition::XXLPlanarDecomposition | ( | const base::RealVectorBounds & | xyBounds, |
const std::vector< int > & | xySlices, | ||
const int | thetaSlices, | ||
bool | diagonalEdges = false |
||
) |
Definition at line 42 of file XXLPlanarDecomposition.cpp.
◆ XXLPlanarDecomposition() [2/2]
ompl::geometric::XXLPlanarDecomposition::XXLPlanarDecomposition | ( | const base::RealVectorBounds & | xyBounds, |
const std::vector< int > & | xySlices, | ||
const int | thetaSlices, | ||
double | thetaLowerBound, | ||
double | thetaUpperBound, | ||
bool | diagonalEdges = false |
||
) |
Definition at line 84 of file XXLPlanarDecomposition.cpp.
◆ ~XXLPlanarDecomposition()
|
virtual |
Definition at line 133 of file XXLPlanarDecomposition.cpp.
Member Function Documentation
◆ coordToRegion() [1/2]
int ompl::geometric::XXLPlanarDecomposition::coordToRegion | ( | const double * | coord | ) | const |
Definition at line 279 of file XXLPlanarDecomposition.cpp.
◆ coordToRegion() [2/2]
int ompl::geometric::XXLPlanarDecomposition::coordToRegion | ( | const std::vector< double > & | coord | ) | const |
Return the region id of the given coordinate in the decomposition.
Definition at line 274 of file XXLPlanarDecomposition.cpp.
◆ distanceHeuristic()
|
virtual |
An admissible and consistent distance heuristic between two regions. Manhattan distance on grid.
Implements ompl::geometric::XXLDecomposition.
Definition at line 311 of file XXLPlanarDecomposition.cpp.
◆ getDiagonalNeighbors()
|
protected |
Definition at line 224 of file XXLPlanarDecomposition.cpp.
◆ getDimension()
|
virtual |
Return the dimension of this HiLoDecomposition.
Implements ompl::geometric::XXLDecomposition.
Definition at line 142 of file XXLPlanarDecomposition.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 169 of file XXLPlanarDecomposition.cpp.
◆ getNeighbors()
|
virtual |
Stores the given region's neighbors into a given vector.
Implements ompl::geometric::XXLDecomposition.
Definition at line 159 of file XXLPlanarDecomposition.cpp.
◆ getNonDiagonalNeighbors()
|
protected |
Definition at line 174 of file XXLPlanarDecomposition.cpp.
◆ getNumRegions()
|
virtual |
Return the total number of regions in this decomposition.
Implements ompl::geometric::XXLDecomposition.
Definition at line 137 of file XXLPlanarDecomposition.cpp.
◆ gridCellToRid()
int ompl::geometric::XXLPlanarDecomposition::gridCellToRid | ( | const std::vector< int > & | cell | ) | const |
Return the region id corresponding to the (discrete) grid cell coordinates.
Definition at line 302 of file XXLPlanarDecomposition.cpp.
◆ hasDiagonalEdges()
bool ompl::geometric::XXLPlanarDecomposition::hasDiagonalEdges | ( | ) | const |
Return true if the decomposition has diagonal edges.
Definition at line 333 of file XXLPlanarDecomposition.cpp.
◆ locateRegion() [1/2]
|
virtual |
Return the id of the region that this state falls in.
Implements ompl::geometric::XXLDecomposition.
Definition at line 147 of file XXLPlanarDecomposition.cpp.
◆ locateRegion() [2/2]
|
virtual |
Return the id of the region that this coordinate falls in.
Implements ompl::geometric::XXLDecomposition.
Definition at line 154 of file XXLPlanarDecomposition.cpp.
◆ numLayers()
|
pure virtual |
Return the number of layers possible in this decomposition. Must be at least 1.
Implements ompl::geometric::XXLDecomposition.
Implemented in PMXXLDecomposition.
◆ project() [1/2]
|
pure virtual |
Project the given State into the XXLDecomposition.
Implements ompl::geometric::XXLDecomposition.
Implemented in PMXXLDecomposition.
◆ project() [2/2]
|
pure virtual |
Project the state into the decomposition and retrieve the region for all valid layers.
Implements ompl::geometric::XXLDecomposition.
Implemented in PMXXLDecomposition.
◆ ridToGridCell()
void ompl::geometric::XXLPlanarDecomposition::ridToGridCell | ( | int | rid, |
std::vector< int > & | cell | ||
) | const |
Definition at line 290 of file XXLPlanarDecomposition.cpp.
◆ sampleCoordinateFromRegion() [1/2]
|
protected |
Definition at line 345 of file XXLPlanarDecomposition.cpp.
◆ sampleCoordinateFromRegion() [2/2]
|
protected |
Definition at line 339 of file XXLPlanarDecomposition.cpp.
◆ sampleFromRegion() [1/2]
|
pure virtual |
Sample a state s from region r in the given layer.
Implements ompl::geometric::XXLDecomposition.
Implemented in PMXXLDecomposition.
◆ sampleFromRegion() [2/2]
|
pure virtual |
Sample a state s from region r in layer 0.
Implements ompl::geometric::XXLDecomposition.
Implemented in PMXXLDecomposition.
Member Data Documentation
◆ diagonalEdges_
|
protected |
Definition at line 128 of file XXLPlanarDecomposition.h.
◆ dimension_
|
protected |
Definition at line 155 of file XXLPlanarDecomposition.h.
◆ dTheta_
|
protected |
Definition at line 150 of file XXLPlanarDecomposition.h.
◆ dx_
|
protected |
Definition at line 145 of file XXLPlanarDecomposition.h.
◆ dy_
|
protected |
Definition at line 145 of file XXLPlanarDecomposition.h.
◆ numRegions_
|
protected |
Definition at line 142 of file XXLPlanarDecomposition.h.
◆ rng_
|
mutableprotected |
Definition at line 158 of file XXLPlanarDecomposition.h.
◆ thetaHigh_
|
protected |
Definition at line 134 of file XXLPlanarDecomposition.h.
◆ thetaLow_
|
protected |
Definition at line 133 of file XXLPlanarDecomposition.h.
◆ thetaSize_
|
protected |
Definition at line 152 of file XXLPlanarDecomposition.h.
◆ thetaSlices_
|
protected |
Definition at line 139 of file XXLPlanarDecomposition.h.
◆ xSize_
|
protected |
Definition at line 147 of file XXLPlanarDecomposition.h.
◆ xyBounds_
|
protected |
Definition at line 131 of file XXLPlanarDecomposition.h.
◆ xySlices_
|
protected |
Definition at line 137 of file XXLPlanarDecomposition.h.
◆ ySize_
|
protected |
Definition at line 147 of file XXLPlanarDecomposition.h.
The documentation for this class was generated from the following files:
- ompl/geometric/planners/xxl/XXLPlanarDecomposition.h
- ompl/geometric/planners/xxl/src/XXLPlanarDecomposition.cpp