Go to the documentation of this file. 1 #ifndef AIKIDO_CONSTRAINT_SAMPLEABLE_HPP_
2 #define AIKIDO_CONSTRAINT_SAMPLEABLE_HPP_
7 #include <boost/optional.hpp>
14 namespace constraint {
50 static constexpr
int NO_LIMIT = std::numeric_limits<int>::max();
68 #endif // AIKIDO_CONSTRAINT_SAMPLEABLE_HPP_
virtual statespace::ConstStateSpacePtr getStateSpace() const =0
Gets the StateSpace that this constraint operates on.
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
Generator for drawing samples from a Sampleable.
Definition: Sampleable.hpp:44
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
virtual bool canSample() const =0
Returns whether getNumSamples() > 0.
Constraint that may be sampled from.
Definition: Sampleable.hpp:27
virtual ~SampleGenerator()=default
virtual int getNumSamples() const =0
Gets an upper bound on the number of samples remaining or NO_LIMIT.
virtual std::unique_ptr< SampleGenerator > createSampleGenerator() const =0
Creates a SampleGenerator for sampling from this constraint.
virtual statespace::ConstStateSpacePtr getStateSpace() const =0
Gets the StateSpace that this SampleGenerator samples from.
static constexpr int NO_LIMIT
Value used to represent a potentially infinite number of samples.
Definition: Sampleable.hpp:50
virtual bool sample(statespace::StateSpace::State *_state)=0
Returns one sample from this constraint; returns true if succeeded.
virtual ~Sampleable()=default
Definition: StateSpace.hpp:167
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21