Class MobiusStateSpace

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class MobiusStateSpace : public ompl::base::CompoundStateSpace

The Mobius strip is a 2-dimensional non-orientable surface.

Public Functions

MobiusStateSpace(double intervalMax = 1.0, double radius = 1.0)
virtual ~MobiusStateSpace() override = default
virtual double distance(const State *state1, const State *state2) const override

Computes distance between two states. This function satisfies the properties of a metric if isMetricSpace() is true, and its return value will always be between 0 and getMaximumExtent()

virtual void interpolate(const State *from, const State *to, double t, State *state) const override

Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state. The memory location of state is not required to be different from the memory of either from or to.

virtual State *allocState() const override

Allocate a state that can store a point in the described space.

Eigen::Vector3f toVector(const State *state) const
class StateType : public ompl::base::CompoundState

The definition of a state (u,v) in the Mobius strip state space. The variable u is the position on the center circle in the interval [-Pi, Pi] The variable v is the position along the width in the interval [-intervalMax, intervalMax].

Public Functions

StateType() = default
inline double getU() const
inline double getV() const
inline void setU(double u)
inline void setV(double v)
inline void setUV(double u, double v)