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>
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 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. | |
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. |
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.