All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
ompl::base::ProjectionEvaluator Class Reference

Abstract definition for a class computing projections to Rn. Implicit integer grids are imposed on this projection space by setting cell sizes. Before use, the user must supply cell sizes for the integer grid (setCellSizes()). The implementation of this class is thread safe. More...

#include <ProjectionEvaluator.h>

Inheritance diagram for ompl::base::ProjectionEvaluator:

List of all members.

Public Member Functions

 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 unsigned int getDimension (void) const =0
 Return the dimension of the projection defined by this evaluator.
virtual void project (const State *state, EuclideanProjection &projection) const =0
 Compute the projection as an array of double values.
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.
bool userConfigured (void) const
 Return true if any user configuration has been done to this projection evaluator (setCellSizes() was called)
const std::vector< double > & getCellSizes (void) const
 Get the size (each dimension) of a grid cell.
void checkCellSizes (void) const
 Check if cell dimensions match projection dimension.
void inferCellSizes (void)
 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.
virtual void defaultCellSizes (void)
 Set the default cell dimensions for this projection. The default implementation of this function is empty. setup() calls this function if no cell dimensions have been previously set.
virtual void setup (void)
 Perform configuration steps, if needed.
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.
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

const StateSpacespace_
 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.
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.
msg::Interface msg_
 The console interface.

Detailed Description

Abstract definition for a class computing projections to Rn. Implicit integer grids are imposed on this projection space by setting cell sizes. Before use, the user must supply cell sizes for the integer grid (setCellSizes()). The implementation of this class is thread safe.

Definition at line 129 of file ProjectionEvaluator.h.


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