
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. | |
| Public Member Functions inherited from ompl::geometric::XXLDecomposition | |
| 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