estar::Kernel Class Reference

#include <Kernel.hpp>

Inheritance diagram for estar::Kernel:

Inheritance graph
[legend]
List of all members.

Detailed Description

Generic E* kernel interface.

The base class ensures some simple rules, such as how to react to empty Propagator instances.

Todo:
Refactor the "polymorphic" constants using a traits class. Implement a factory method that allows creating a subclass from a parameter object or config string or something...


Public Member Functions

 Kernel (double fsm, double obm, double _scale)
virtual ~Kernel ()
double Compute (Propagator &propagator) const
virtual bool ChangeWouldRaise (double oldmeta, double newmeta) const
 Default implementation: Increasing meta leads to RAISE events.

Public Attributes

const double freespace_meta
const double obstacle_meta
const double scale

Protected Member Functions

virtual double DoCompute (Propagator &propagator) const=0


Constructor & Destructor Documentation

estar::Kernel::Kernel ( double  fsm,
double  obm,
double  _scale 
) [inline]

estar::Kernel::~Kernel (  )  [virtual]


Member Function Documentation

double estar::Kernel::Compute ( Propagator propagator  )  const

bool estar::Kernel::ChangeWouldRaise ( double  oldmeta,
double  newmeta 
) const [virtual]

Default implementation: Increasing meta leads to RAISE events.

Todo:
Doesn't seem to be used anymore.

Reimplemented in estar::LSMKernel.

virtual double estar::Kernel::DoCompute ( Propagator propagator  )  const [protected, pure virtual]

Implemented in estar::AlphaKernel, estar::LSMKernel, and estar::NF1Kernel.


Member Data Documentation

const double estar::Kernel::freespace_meta

const double estar::Kernel::obstacle_meta

const double estar::Kernel::scale


The documentation for this class was generated from the following files:
doxygen SourceForge.net Logo
E* Interpolated Graph Replanner Wed Dec 12 18:55:50 2007