ompl::base::MorseProjection Class Reference

This class implements a generic projection for the MorseStateSpace, namely, the subspace representing the x and y positions of every rigid body. More...

`#include <ompl/extensions/morse/MorseProjection.h>`

Inheritance diagram for ompl::base::MorseProjection:

## Public Member Functions | |

MorseProjection (const StateSpacePtr &space) | |

Construct a projection evaluator for a specific state space. | |

void | setup () |

Perform configuration steps, if needed. | |

virtual unsigned int | getDimension () const |

Return the dimension of the projection defined by this evaluator. | |

virtual void | defaultCellSizes () |

Set the default cell dimensions for this projection. The default implementation of this function sets the size to 1.0 for all dimensions. setup() calls this function if no cell dimensions have been previously set. | |

virtual void | project (const State *state, EuclideanProjection &projection) const |

Compute the projection as an array of double values. | |

Public Member Functions inherited from ompl::base::ProjectionEvaluator | |

ProjectionEvaluator (const ProjectionEvaluator &)=delete | |

ProjectionEvaluator & | operator= (const ProjectionEvaluator &)=delete |

ProjectionEvaluator (const StateSpace *space) | |

Construct a projection evaluator for a specific state space. | |

ProjectionEvaluator (const StateSpacePtr &space) | |

Construct a projection evaluator for a specific state space. | |

virtual void | setCellSizes (const std::vector< double > &cellSizes) |

Define the size (in each dimension) of a grid cell. The number of sizes set here must be the same as the dimension of the projection computed by the projection evaluator. After a call to this function, setup() will not call defaultCellSizes() or inferCellSizes() any more. | |

void | setCellSizes (unsigned int dim, double cellSize) |

Set the cell sizes to cellSize for a particular dimension dim. This function simply calls getCellSizes(), modifies the desired dimension and then calls setCellSizes(). This is done intentionally to enforce a call to setCellSizes(). | |

void | mulCellSizes (double factor) |

Multiply the cell sizes in each dimension by a specified factor factor. This function does nothing if cell sizes have not been set. If cell sizes have been set (irrespective of source; e.g., user, default or inferred), this function will then call setCellSizes(), so the source of the cell sizes will be considered to be the user. | |

bool | userConfigured () const |

Return true if any user configuration has been done to this projection evaluator (setCellSizes() was called) | |

const std::vector< double > & | getCellSizes () const |

Get the size (each dimension) of a grid cell. | |

double | getCellSizes (unsigned int dim) const |

Get the size of a particular dimension of a grid cell. | |

void | checkCellSizes () const |

Check if cell dimensions match projection dimension. | |

void | inferCellSizes () |

Sample the state space and decide on default cell sizes. This function is called by setup() if no cell dsizes have been set and defaultCellSizes() does not fill the cell sizes either. | |

void | checkBounds () const |

Check if the projection dimension matched the dimension of the bounds. | |

bool | hasBounds () const |

Check if bounds were specified for this projection. | |

void | setBounds (const RealVectorBounds &bounds) |

Set bounds on the projection. The PDST planner needs to known the bounds on the projection. Default bounds are automatically computed by inferCellSizes(). | |

const RealVectorBounds & | getBounds () const |

Get the bounds computed/set for this projection. | |

void | inferBounds () |

Compute an approximation of the bounds for this projection space. getBounds() will then report the computed bounds. | |

void | computeCoordinates (const EuclideanProjection &projection, ProjectionCoordinates &coord) const |

Compute integer coordinates for a projection. | |

void | computeCoordinates (const State *state, ProjectionCoordinates &coord) const |

Compute integer coordinates for a state. | |

ParamSet & | params () |

Get the parameters for this projection. | |

const ParamSet & | params () const |

Get the parameters for this projection. | |

virtual void | printSettings (std::ostream &out=std::cout) const |

Print settings about this projection. | |

virtual void | printProjection (const EuclideanProjection &projection, std::ostream &out=std::cout) const |

Print a euclidean projection. | |

## Protected Attributes | |

MorseStateSpace * | space_ |

The state space this projection operates on. | |

Protected Attributes inherited from ompl::base::ProjectionEvaluator | |

const StateSpace * | space_ |

The state space this projection operates on. | |

std::vector< double > | cellSizes_ |

The size of a cell, in every dimension of the projected space, in the implicitly defined integer grid. | |

RealVectorBounds | bounds_ |

A bounding box for projected state values. | |

RealVectorBounds | estimatedBounds_ |

An approximate bounding box for projected state values; This is the cached result of estimateBounds() which may later be copied to bounds_ if bounds are needed but were not specified. | |

bool | defaultCellSizes_ |

Flag indicating whether cell sizes have been set by the user, or whether they were inferred automatically. This flag becomes false if setCellSizes() is called. | |

bool | cellSizesWereInferred_ |

Flag indicating whether projection cell sizes were automatically inferred. | |

ParamSet | params_ |

The set of parameters for this projection. | |

## Additional Inherited Members | |

Protected Member Functions inherited from ompl::base::ProjectionEvaluator | |

void | estimateBounds () |

Fill estimatedBounds_ with an approximate bounding box for the projection space (via sampling) | |

## Detailed Description

This class implements a generic projection for the MorseStateSpace, namely, the subspace representing the x and y positions of every rigid body.

Definition at line 48 of file MorseProjection.h.

The documentation for this class was generated from the following files:

- ompl/extensions/morse/MorseProjection.h
- ompl/extensions/morse/src/MorseProjection.cpp