Class PathSection

Class Documentation

class PathSection

Representation of a path section (not necessarily feasible).

This class provides convenience methods to interpolate different path section over a given path restriction

Public Types

using Configuration = ompl::multilevel::BundleSpaceGraph::Configuration

Public Functions

PathSection() = delete
PathSection(PathRestriction*)
virtual ~PathSection()
void interpolateL2(HeadPtr&)
void interpolateL1FiberFirst(HeadPtr&)

Interpolate along restriction using L1 metric.

void interpolateL1FiberLast(HeadPtr&)
bool checkMotion(HeadPtr&)

Checks if section is feasible.

Return values:
  • True – if feasible and false if only partially feasible

  • Basepathheadptr – Return last valid

void sanityCheck()

checks if section is feasible

void sanityCheck(HeadPtr&)
base::State *at(int k) const

Methods to access sections like std::vector.

const base::State *back() const
const base::State *front() const
unsigned int size() const
Configuration *addFeasibleSegment(Configuration *xLast, base::State *sNext)

Add vertex for sNext and edge to xLast by assuming motion is valid

void addFeasibleGoalSegment(Configuration *xLast, Configuration *xGoal)
void print(std::ostream&) const

Protected Attributes

PathRestriction *restriction_
std::vector<base::State*> section_

Interpolated section along restriction.

std::vector<int> sectionBaseStateIndices_
std::pair<base::State*, double> lastValid_

Last valid state on feasible segment.

int lastValidIndexOnBasePath_
base::State *xBaseTmp_ = {nullptr}
base::State *xBundleTmp_ = {nullptr}
base::State *xFiberStart_ = {nullptr}
base::State *xFiberGoal_ = {nullptr}
base::State *xFiberTmp_ = {nullptr}

Friends

friend std::ostream &operator<<(std::ostream&, const PathSection&)