37 #ifndef OMPL_BASE_SPACES_SO2_STATE_SPACE_
38 #define OMPL_BASE_SPACES_SO2_STATE_SPACE_
40 #include "ompl/base/StateSpace.h"
104 virtual void copyState(State *destination,
const State *source)
const;
108 virtual void serialize(
void *serialization,
const State *state)
const;
110 virtual void deserialize(State *state,
const void *serialization)
const;
112 virtual double distance(
const State *state1,
const State *state2)
const;
114 virtual bool equalStates(
const State *state1,
const State *state2)
const;
116 virtual void interpolate(
const State *from,
const State *to,
const double t, State *state)
const;
122 virtual void freeState(State *state)
const;
126 virtual void printState(
const State *state, std::ostream &out)
const;
void setName(const std::string &name)
Set the name of the state space.
virtual void copyState(State *destination, const State *source) const
Copy a state to another. The memory of source and destination should NOT overlap. ...
int type_
A type assigned for this state space.
double value
The value of the angle in the interval (-Pi, Pi].
virtual double distance(const State *state1, const State *state2) const
Computes distance between two states. This function satisfies the properties of a metric if isMetricS...
virtual State * allocState(void) const
Allocate a state that can store a point in the described space.
virtual unsigned int getSerializationLength(void) const
Get the number of chars in the serialization of a state in this space.
SO2StateSampler(const StateSpace *space)
Constructor.
virtual StateSamplerPtr allocDefaultStateSampler(void) const
Allocate an instance of the default uniform state sampler for this space.
virtual void sampleGaussian(State *state, const State *mean, const double stdDev)
Sample a state using a Gaussian distribution with given mean and standard deviation (stdDev) ...
The definition of a state in SO(2)
virtual void sampleUniform(State *state)
Sample a state.
const std::string & getName(void) const
Get the name of the state space.
virtual void sampleUniformNear(State *state, const State *near, const double distance)
Sample a state near another, within specified distance.
Representation of a space in which planning can be performed. Topology specific sampling, interpolation and distance are defined.
State space sampler for SO(2)
Definition of an abstract state.
ompl::base::SO2StateSpace
virtual bool satisfiesBounds(const State *state) const
Check if the value of the state is in the interval (-Pi, Pi].
virtual void serialize(void *serialization, const State *state) const
Write the binary representation of state to serialization.
void setIdentity(void)
Set the state to identity – no rotation (value = 0.0)
virtual double * getValueAddressAtIndex(State *state, const unsigned int index) const
Many states contain a number of double values. This function provides a means to get the memory addre...
virtual void printSettings(std::ostream &out) const
Print the settings for this state space to a stream.
virtual void registerProjections(void)
Register the projections for this state space. Usually, this is at least the default projection...
A state space representing SO(2). The distance function and interpolation take into account angle wra...
Abstract definition of a state space sampler.
virtual void enforceBounds(State *state) const
Normalize the value of the state to the interval (-Pi, Pi].
virtual void printState(const State *state, std::ostream &out) const
Print a state to a stream.
virtual void freeState(State *state) const
Free the memory of the allocated state.
virtual void interpolate(const State *from, const State *to, const double t, State *state) const
Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state...
virtual void deserialize(State *state, const void *serialization) const
Read the binary representation of a state from serialization and write it to state.
virtual unsigned int getDimension(void) const
Get the dimension of the space (not the dimension of the surrounding ambient space) ...
virtual double getMaximumExtent(void) const
Get the maximum value a call to distance() can return (or an upper bound). For unbounded state spaces...
virtual bool equalStates(const State *state1, const State *state2) const
Checks whether two states are equal.