Class PropositionalDecomposition

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class PropositionalDecomposition : public ompl::control::Decomposition

A propositional decomposition wraps a given Decomposition with a region-to-proposition assignment operator. Each region in the decomposition has a corresponding World.

Subclassed by ompl::control::PropositionalTriangularDecomposition

Public Functions

PropositionalDecomposition(const DecompositionPtr &decomp)

Creates a propositional decomposition wrapped around a given decomposition with a given number of propositions.

~PropositionalDecomposition() override

Clears all memory belonging to this propositional decomposition.

virtual World worldAtRegion(int rid) = 0

Returns the World corresponding to a given region.

virtual int getNumRegions() const override

Returns the number of regions in this propositional decomposition’s underlying decomposition.

virtual int getNumProps() const = 0

Returns the number of propositions in this propositional decomposition.

virtual double getRegionVolume(int rid) override

Returns the volume of a given region.

virtual int locateRegion(const base::State *s) const override

Returns the region of the underlying decomposition that contains a given State.

virtual void project(const base::State *s, std::vector<double> &coord) const override

Project a given State to a set of coordinates in R^k, where k is the dimension of this Decomposition.

virtual void getNeighbors(int rid, std::vector<int> &neighbors) const override

Stores a given region’s neighbors into a given vector.

virtual void sampleFromRegion(int rid, RNG &rng, std::vector<double> &coord) const override

Samples a projected coordinate from a given region.

virtual void sampleFullState(const base::StateSamplerPtr &sampler, const std::vector<double> &coord, base::State *s) const override

Samples a State using a projected coordinate and a StateSampler.

Protected Attributes

DecompositionPtr decomp_