Class PropositionalTriangularDecomposition

Inheritance Relationships

Base Type

Class Documentation

class PropositionalTriangularDecomposition : public ompl::control::PropositionalDecomposition

A PropositionalTriangularDecomposition is a triangulation that ignores obstacles and respects propositional regions of interest. Practically speaking, it is both a TriangularDecomposition and a PropositionalDecomposition, but it is implemented without using multiple inheritance.

Public Types

using Polygon = TriangularDecomposition::Polygon
using Vertex = TriangularDecomposition::Vertex

Public Functions

PropositionalTriangularDecomposition(const base::RealVectorBounds &bounds, const std::vector<Polygon> &holes = std::vector<Polygon>(), const std::vector<Polygon> &props = std::vector<Polygon>())

Creates a PropositionalTriangularDecomposition 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 propositional regions of interest, given as a list of polygons.

~PropositionalTriangularDecomposition() override = default
virtual int getNumProps() const override

Returns the number of propositions in this propositional decomposition.

virtual World worldAtRegion(int triID) override

Returns the World corresponding to a given region.

void setup()
void addHole(const Polygon &hole)
void addProposition(const Polygon &prop)
const std::vector<Polygon> &getHoles() const
const std::vector<Polygon> &getPropositions() const
void print(std::ostream &out) const

Protected Attributes

TriangularDecomposition *triDecomp_