A TriangularDecomposition is a triangulation that ignores obstacles. More...
#include <TriangularDecomposition.h>
Classes | |
struct | Polygon |
struct | Triangle |
struct | Vertex |
Public Member Functions | |
virtual double | getRegionVolume (unsigned int triID) |
Returns the volume of a given region in this Decomposition. | |
virtual void | getNeighbors (unsigned int triID, std::vector< unsigned int > &neighbors) const |
Stores a given region's neighbors into a given vector. | |
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 calling project(). Returns -1 if no region contains the State. | |
virtual void | sampleFromRegion (unsigned int triID, RNG &rng, std::vector< double > &coord) const |
Samples a projected coordinate from a given region. | |
void | print (std::ostream &out) const |
![]() | |
Decomposition (unsigned int dim, const base::RealVectorBounds &b, unsigned int nreg=0) | |
Constructor. Creates a Decomposition with a given dimension and a given set of bounds. Accepts as an optional argument a given number of regions. | |
virtual unsigned int | getNumRegions () const |
Returns the number of regions in this Decomposition. | |
virtual unsigned int | getDimension () const |
Returns the dimension of this Decomposition. | |
virtual const base::RealVectorBounds & | getBounds () const |
Returns the bounds of this Decomposition. | |
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. | |
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. | |
Protected Member Functions | |
TriangularDecomposition (unsigned int dim, const base::RealVectorBounds &b, const std::vector< Polygon > &holes=std::vector< Polygon >()) | |
Constructor. Creates a TriangularDecomposition over the given bounds, which must be 2-dimensional. The triangulation will respect any given obstacles, which are assumed to be convex polygons. | |
virtual unsigned int | createTriangles () |
Helper method to triangulate the space and return the number of triangles. | |
![]() | |
virtual void | setNumRegions (unsigned int n) |
Protected Attributes | |
std::vector< Triangle > | triangles_ |
std::vector< Polygon > | holes_ |
![]() | |
unsigned int | numRegions_ |
unsigned int | dimension_ |
base::RealVectorBounds | bounds_ |
A TriangularDecomposition is a triangulation that ignores obstacles.
Definition at line 50 of file TriangularDecomposition.h.