TriangularDecomposition.h
161 virtual void sampleFullState(const base::StateSamplerPtr& /*sampler*/, const std::vector<double>& /*coord*/, base::State* /*s*/) const
A TriangularDecomposition is a triangulation that ignores obstacles.
Definition: TriangularDecomposition.h:55
virtual int getDimension() const
Returns the dimension of this Decomposition.
Definition: Decomposition.h:85
virtual int locateRegion(const base::State *s) const
Returns the index of the region containing a given State. Most often, this is obtained by first calli...
Definition: TriangularDecomposition.cpp:141
A boost shared pointer wrapper for ompl::base::StateSampler.
virtual double getRegionVolume(int triID)
Returns the volume of a given region in this Decomposition.
Definition: TriangularDecomposition.cpp:121
virtual int createTriangles()
Helper method to triangulate the space and return the number of triangles.
Definition: TriangularDecomposition.cpp:215
virtual void getNeighbors(int triID, std::vector< int > &neighbors) const
Stores a given region's neighbors into a given vector.
Definition: TriangularDecomposition.cpp:136
A GridDecomposition is a Decomposition implemented using a grid.
Definition: GridDecomposition.h:53
virtual int getNumRegions(void) const
Returns the number of regions in this Decomposition.
Definition: TriangularDecomposition.h:98
A Decomposition is a partition of a bounded Euclidean space into a fixed number of regions which are ...
Definition: Decomposition.h:62
virtual void sampleFromRegion(int triID, RNG &rng, std::vector< double > &coord) const
Samples a projected coordinate from a given region.
Definition: TriangularDecomposition.cpp:162
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.
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:116
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
Definition: RandomNumbers.h:54
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:139
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:48
TriangularDecomposition(const base::RealVectorBounds &bounds, const std::vector< Polygon > &holes=std::vector< Polygon >(), const 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:61
virtual const base::RealVectorBounds & getBounds() const
Returns the bounds of this Decomposition.
Definition: Decomposition.h:91