Class GridDecomposition
Defined in File GridDecomposition.h
Inheritance Relationships
Base Type
public ompl::control::Decomposition
(Class Decomposition)
Class Documentation
-
class GridDecomposition : public ompl::control::Decomposition
A GridDecomposition is a Decomposition implemented using a grid.
Public Functions
-
GridDecomposition(int len, int dim, const base::RealVectorBounds &b)
Constructor. Creates a GridDecomposition as a hypercube with a given dimension, side length, and bounds. The cells of the hypercube are referenced by integer coordinates of the form \((r_1,\ldots,r_k)\), where \( 0 \leq r_i < \texttt{len}\).
-
~GridDecomposition() override = default
-
inline virtual int getNumRegions() const override
Returns the number of regions in this Decomposition.
-
inline virtual double getRegionVolume(int) override
Returns the volume of a given region in this Decomposition.
-
virtual void getNeighbors(int rid, std::vector<int> &neighbors) const override
Stores a given region’s neighbors into a given vector.
Protected Functions
-
virtual const base::RealVectorBounds &getRegionBounds(int rid) const
Helper method to return the bounds of a given region.
-
void regionToGridCoord(int rid, std::vector<int> &coord) const
Converts a given region to a coordinate in the grid.
-
int gridCoordToRegion(const std::vector<int> &coord) const
Converts the given grid coordinate to its corresponding region ID.
-
int coordToRegion(const std::vector<double> &coord) const
Converts a decomposition space coordinate to the ID of the region that contains iit.
-
void coordToGridCoord(const std::vector<double> &coord, std::vector<int> &gridCoord) const
Converts a decomposition space coordinate to a grid coordinate.
-
void computeGridNeighbors(int rid, std::vector<int> &neighbors) const
Computes the neighbors of the given region in a n-dimensional grid.
-
void computeGridNeighborsSub(const std::vector<int> &coord, std::vector<int> &neighbors, int dim, std::vector<int> &candidate) const
Recursive subroutine for grid neighbor computation
Protected Attributes
-
int length_
-
double cellVolume_
-
mutable std::unordered_map<int, std::shared_ptr<base::RealVectorBounds>> regToBounds_
-
GridDecomposition(int len, int dim, const base::RealVectorBounds &b)