TriangularDecomposition.h
162 void sampleFullState(const base::StateSamplerPtr & /*sampler*/, const std::vector<double> & /*coord*/,
int locateRegion(const base::State *s) const override
Returns the index of the region containing a given State. Most often, this is obtained by first calli...
Definition: TriangularDecomposition.cpp:151
A TriangularDecomposition is a triangulation that ignores obstacles.
Definition: TriangularDecomposition.h:55
int getRegionOfInterestAt(int triID) const
Returns the region of interest that contains the given triangle ID. Returns -1 if the triangle ID is ...
Definition: TriangularDecomposition.cpp:128
A shared pointer wrapper for ompl::base::StateSampler.
void getNeighbors(int triID, std::vector< int > &neighbors) const override
Stores a given region's neighbors into a given vector.
Definition: TriangularDecomposition.cpp:146
virtual int createTriangles()
Helper method to triangulate the space and return the number of triangles.
Definition: TriangularDecomposition.cpp:211
A GridDecomposition is a Decomposition implemented using a grid.
Definition: GridDecomposition.h:53
TriangularDecomposition(const base::RealVectorBounds &bounds, std::vector< Polygon > holes=std::vector< Polygon >(), std::vector< Polygon > intRegs=std::vector< Polygon >())
Creates a TriangularDecomposition over the given bounds, which must be 2-dimensional. The underlying mesh will be a conforming Delaunay triangulation. The triangulation will ignore any obstacles, given as a list of polygons. The triangulation will respect the boundaries of any regions of interest, given as a list of polygons. No two obstacles may overlap, and no two regions of interest may overlap.
Definition: TriangularDecomposition.cpp:74
double getRegionVolume(int triID) override
Returns the volume of a given region in this Decomposition.
Definition: TriangularDecomposition.cpp:133
A Decomposition is a partition of a bounded Euclidean space into a fixed number of regions which are ...
Definition: Decomposition.h:62
virtual void sampleFullState(const base::StateSamplerPtr &sampler, const std::vector< double > &coord, base::State *s) const =0
Samples a State using a projected coordinate and a StateSampler.
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
Definition: RandomNumbers.h:58
virtual const base::RealVectorBounds & getBounds() const
Returns the bounds of this Decomposition.
Definition: Decomposition.h:89
virtual int getDimension() const
Returns the dimension of this Decomposition.
Definition: Decomposition.h:83
int getNumRegions() const override
Returns the number of regions in this Decomposition.
Definition: TriangularDecomposition.h:99
std::vector< int > intRegInfo_
Maps from triangle ID to index of Polygon in intReg_ that contains the triangle ID. Maps to -1 if the triangle ID is not in a region of interest.
Definition: TriangularDecomposition.h:143
virtual void project(const base::State *s, std::vector< double > &coord) const =0
Project a given State to a set of coordinates in R^k, where k is the dimension of this Decomposition...
The lower and upper bounds for an Rn space.
Definition: RealVectorBounds.h:47
void sampleFromRegion(int triID, RNG &rng, std::vector< double > &coord) const override
Samples a projected coordinate from a given region.
Definition: TriangularDecomposition.cpp:171