All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SO3StateSpace.h
152 virtual void interpolate(const State *from, const State *to, const double t, State *state) const;
void setName(const std::string &name)
Set the name of the state space.
Definition: StateSpace.cpp:201
virtual void serialize(void *serialization, const State *state) const
Write the binary representation of state to serialization.
Definition: SO3StateSpace.cpp:233
virtual unsigned int getSerializationLength() const
Get the number of chars in the serialization of a state in this space.
Definition: SO3StateSpace.cpp:228
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...
Definition: SO3StateSpace.cpp:370
virtual bool satisfiesBounds(const State *state) const
Check if a state is inside the bounding box. For unbounded spaces this function can always return tru...
Definition: SO3StateSpace.cpp:213
virtual void printState(const State *state, std::ostream &out) const
Print a state to a stream.
Definition: SO3StateSpace.cpp:375
virtual void registerProjections()
Register the projections for this state space. Usually, this is at least the default projection...
Definition: SO3StateSpace.cpp:333
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...
Definition: SO3StateSpace.cpp:268
A state space representing SO(3). The internal representation is done with quaternions. The distance between states is the angle between quaternions and interpolation is done with slerp.
Definition: SO3StateSpace.h:84
virtual void printSettings(std::ostream &out) const
Print the settings for this state space to a stream.
Definition: SO3StateSpace.cpp:388
virtual State * allocState() const
Allocate a state that can store a point in the described space.
Definition: SO3StateSpace.cpp:323
virtual double getMeasure() const
Get a measure of the space (this can be thought of as a generalization of volume) ...
Definition: SO3StateSpace.cpp:171
virtual bool equalStates(const State *state1, const State *state2) const
Checks whether two states are equal.
Definition: SO3StateSpace.cpp:277
virtual void enforceBounds(State *state) const
Bring the state within the bounds of the state space. For unbounded spaces this function can be a no-...
Definition: SO3StateSpace.cpp:183
virtual void deserialize(State *state, const void *serialization) const
Read the binary representation of a state from serialization and write it to state.
Definition: SO3StateSpace.cpp:238
virtual StateSamplerPtr allocDefaultStateSampler() const
Allocate an instance of the default uniform state sampler for this space.
Definition: SO3StateSpace.cpp:318
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...
Definition: SO3StateSpace.cpp:287
virtual void freeState(State *state) const
Free the memory of the allocated state.
Definition: SO3StateSpace.cpp:328
The definition of a state in SO(3) represented as a unit quaternion.
Definition: SO3StateSpace.h:94
State space sampler for SO(3), using quaternion representation.
Definition: SO3StateSpace.h:48
virtual unsigned int getDimension() const
Get the dimension of the space (not the dimension of the surrounding ambient space) ...
Definition: SO3StateSpace.cpp:161
Representation of a space in which planning can be performed. Topology specific sampling, interpolation and distance are defined.
Definition: StateSpace.h:72
virtual void copyState(State *destination, const State *source) const
Copy a state to another. The memory of source and destination should NOT overlap. ...
Definition: SO3StateSpace.cpp:218
void setAxisAngle(double ax, double ay, double az, double angle)
Set the quaternion from axis-angle representation. The angle is given in radians. ...
Definition: SO3StateSpace.cpp:85
virtual void sampleUniformNear(State *state, const State *near, const double distance)
To sample unit quaternions uniformly within some given distance, we sample a 3-vector from the R^3 ta...
Definition: SO3StateSpace.cpp:101
double norm(const StateType *state) const
Compute the norm of a state.
Definition: SO3StateSpace.cpp:177
virtual void sampleGaussian(State *state, const State *mean, const double stdDev)
Sample a state such that the expected distance between mean and state is stdDev.
Definition: SO3StateSpace.cpp:117
virtual double getMaximumExtent() const
Get the maximum value a call to distance() can return (or an upper bound). For unbounded state spaces...
Definition: SO3StateSpace.cpp:166