TimeStateSpace.cpp
45 state->as<TimeStateSpace::StateType>()->position = rng_.uniformReal(space_->as<TimeStateSpace>()->getMinTimeBound(),
51 void ompl::base::TimeStateSampler::sampleUniformNear(State *state, const State *near, const double distance)
59 void ompl::base::TimeStateSampler::sampleGaussian(State *state, const State *mean, const double stdDev)
105 return !bounded_ || (state->as<StateType>()->position >= minTime_ - std::numeric_limits<double>::epsilon() &&
136 return fabs(state1->as<StateType>()->position - state2->as<StateType>()->position) < std::numeric_limits<double>::epsilon() * 2.0;
139 void ompl::base::TimeStateSpace::interpolate(const State *from, const State *to, const double t, State *state) const
195 registerDefaultProjection(ProjectionEvaluatorPtr(dynamic_cast<ProjectionEvaluator*>(new TimeDefaultProjection(this))));
198 double* ompl::base::TimeStateSpace::getValueAddressAtIndex(State *state, const unsigned int index) const
virtual bool equalStates(const State *state1, const State *state2) const
Checks whether two states are equal.
Definition: TimeStateSpace.cpp:134
virtual unsigned int getDimension() const
Get the dimension of the space (not the dimension of the surrounding ambient space) ...
Definition: TimeStateSpace.cpp:66
virtual void freeState(State *state) const
Free the memory of the allocated state.
Definition: TimeStateSpace.cpp:155
virtual double getMeasure() const
Get a measure of the space (this can be thought of as a generalization of volume) ...
Definition: TimeStateSpace.cpp:86
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: TimeStateSpace.cpp:139
A boost shared pointer wrapper for ompl::base::StateSampler.
virtual void serialize(void *serialization, const State *state) const
Write the binary representation of state to serialization.
Definition: TimeStateSpace.cpp:119
virtual void registerProjections()
Register the projections for this state space. Usually, this is at least the default projection...
Definition: TimeStateSpace.cpp:160
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: TimeStateSpace.cpp:198
virtual void deserialize(State *state, const void *serialization) const
Read the binary representation of a state from serialization and write it to state.
Definition: TimeStateSpace.cpp:124
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: TimeStateSpace.cpp:129
virtual unsigned int getSerializationLength() const
Get the number of chars in the serialization of a state in this space.
Definition: TimeStateSpace.cpp:114
The definition of a time state.
Definition: TimeStateSpace.h:76
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: TimeStateSpace.cpp:103
A boost shared pointer wrapper for ompl::base::ProjectionEvaluator.
static const double PROJECTION_DIMENSION_SPLITS
When the cell sizes for a projection are automatically computed, this value defines the number of par...
Definition: MagicConstants.h:57
double uniformReal(double lower_bound, double upper_bound)
Generate a random real within given bounds: [lower_bound, upper_bound)
Definition: RandomNumbers.h:68
Representation of a space in which planning can be performed. Topology specific sampling, interpolation and distance are defined.
Definition: StateSpace.h:73
boost::numeric::ublas::vector< double > EuclideanProjection
The datatype for state projections. This class contains a real vector.
Definition: ProjectionEvaluator.h:62
virtual double getMaximumExtent() const
Get the maximum value a call to distance() can return (or an upper bound). For unbounded state spaces...
Definition: TimeStateSpace.cpp:81
virtual State * allocState() const
Allocate a state that can store a point in the described space.
Definition: TimeStateSpace.cpp:150
virtual void sampleUniformNear(State *state, const State *near, const double distance)
Sample a state near another, within specified distance.
Definition: TimeStateSpace.cpp:51
virtual void enforceBounds(State *state) const =0
Bring the state within the bounds of the state space. For unbounded spaces this function can be a no-...
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: TimeStateSpace.cpp:91
virtual void copyState(State *destination, const State *source) const
Copy a state to another. The memory of source and destination should NOT overlap. ...
Definition: TimeStateSpace.cpp:109
void setBounds(double minTime, double maxTime)
Set the minimum and maximum time bounds. This will make the state space switch into bounded time mode...
Definition: TimeStateSpace.cpp:71
A state space representing time. The time can be unbounded, in which case enforceBounds() is a no-op...
Definition: TimeStateSpace.h:71
virtual StateSamplerPtr allocDefaultStateSampler() const
Allocate an instance of the default uniform state sampler for this space.
Definition: TimeStateSpace.cpp:145
double getMinTimeBound() const
Get the minimum allowed value of position in a state. The function returns 0 if time is not bounded...
Definition: TimeStateSpace.h:109
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) ...
Definition: TimeStateSpace.cpp:59
virtual void printSettings(std::ostream &out) const
Print the settings for this state space to a stream.
Definition: TimeStateSpace.cpp:213
virtual void printState(const State *state, std::ostream &out) const
Print a state to a stream.
Definition: TimeStateSpace.cpp:203
Abstract definition for a class computing projections to Rn. Implicit integer grids are imposed on th...
Definition: ProjectionEvaluator.h:138
double gaussian(double mean, double stddev)
Generate a random real using a normal distribution with given mean and variance.
Definition: RandomNumbers.h:94