KrisLibrary
1.0.0
|
#include <EdgePlanner.h>
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 Config & | Start () const |
virtual const Config & | End () const |
virtual CSpace * | Space () 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 Config & | InfeasibleConfig () 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 | |
CSpace * | space |
std::list< Config > | path |
Real | epsilon |
std::priority_queue< Segment, std::vector< Segment > > | q |
Config | x |
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.