KrisLibrary  1.0.0
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BisectionEpsilonEdgePlanner Class Reference

#include <EdgePlanner.h>

Inheritance diagram for BisectionEpsilonEdgePlanner:
EdgePlanner Interpolator

Classes

struct  Segment
 

Public Member Functions

 BisectionEpsilonEdgePlanner (CSpace *space, const Config &a, const Config &b, Real epsilon)
 
virtual bool IsVisible ()
 
virtual void Eval (Real u, Config &x) const
 
virtual Real Length () const
 
virtual const ConfigStart () const
 
virtual const ConfigEnd () const
 
virtual CSpaceSpace () const
 
virtual EdgePlannerPtr Copy () const
 
virtual EdgePlannerPtr ReverseCopy () const
 
virtual bool IsIncremental () const
 
virtual Real Priority () const
 
virtual bool Plan ()
 
virtual bool Done () const
 
virtual bool Failed () const
 
bool Plan (Config *&pre, Config *&post)
 
const std::list< Config > & GetPath () const
 
const ConfigInfeasibleConfig () const
 
- Public Member Functions inherited from Interpolator
virtual Real ParamStart () const
 
virtual Real ParamEnd () const
 

Protected Member Functions

 BisectionEpsilonEdgePlanner (CSpace *space, Real epsilon)
 

Protected Attributes

CSpacespace
 
std::list< Configpath
 
Real epsilon
 
std::priority_queue< Segment, std::vector< Segment > > q
 
Config x
 

Detailed Description

Similar to EpsilonEdgeChecker, but keeps the bisected configs, and recalculates distances for every subdivision.

Used in constrained configuration spaces where CSpace.Midpoint() doesn't necessarily return a configuration whose distance is half of the endpoints. An example is recursive projection on a manifold.


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