Class StateStorage

Nested Relationships

Nested Types

Inheritance Relationships

Derived Type

Class Documentation

class StateStorage

Manage loading and storing for a set of states of a specified state space.

Deprecated:

This class is deprecated and will be removed in the future. Please use the improved PlannerDataStorage.

Subclassed by ompl::base::StateStorageWithMetadata< M >

Public Functions

StateStorage(StateSpacePtr space)

The state space to store states for is specified as argument.

virtual ~StateStorage()
inline const StateSpacePtr &getStateSpace() const

Get the state space this class maintains states for.

void load(const char *filename)

Load a set of states from a specified file.

virtual void load(std::istream &in)

Load a set of states from a stream.

void store(const char *filename)

Save a set of states to a file.

virtual void store(std::ostream &out)

Save a set of states to a stream.

virtual void addState(const State *state)

Add a state to the set of states maintained by this storage structure. The state is copied to internal storage.

virtual void generateSamples(unsigned int count)

Generate count states uniformly at random and store them in this structure.

virtual void clear()

Clear the stored states. This frees all the memory.

inline std::size_t size() const

Return the number of stored states.

inline const std::vector<const State*> &getStates() const

Get the stored states.

inline State *getState(unsigned int index)

Get a particular state for non-const access.

inline const State *getState(unsigned int index) const

Get a particular state.

inline bool hasMetadata() const

Return a flag that indicates whether there is metadata associated to the states in this storage.

void sort(const std::function<bool(const State*, const State*)> &op)

Sort the states according to the less-equal operator op. Metadata is NOT sorted; if metadata was added, the index values of the metadata will not match after the sort.

StateSamplerAllocator getStateSamplerAllocator() const

Get a sampler allocator to a sampler that can be specified for a StateSpace, such that all sampled states are actually from this storage structure.

StateSamplerAllocator getStateSamplerAllocatorRangeUntil(std::size_t until) const

Get a sampler allocator to a sampler that can be specified for a StateSpace, such that all sampled states are actually from this storage structure at an index less than or equal to until.

StateSamplerAllocator getStateSamplerAllocatorRangeAfter(std::size_t after) const

Get a sampler allocator to a sampler that can be specified for a StateSpace, such that all sampled states are actually from this storage structure at an index above or equal to after.

virtual StateSamplerAllocator getStateSamplerAllocatorRange(std::size_t from, std::size_t to) const

Get a sampler allocator to a sampler that can be specified for a StateSpace, such that all sampled states are actually from this storage structure at an index in the range [from, to] (inclusive)

virtual void print(std::ostream &out = std::cout) const

Output the set of states to a specified stream, in a human readable fashion.

Protected Functions

virtual void loadStates(const Header &h, boost::archive::binary_iarchive &ia)

Load the states from a binary archive ia, given the loaded header is h.

virtual void loadMetadata(const Header &h, boost::archive::binary_iarchive &ia)

Load the state metadata from a binary archive ia, given the loaded header is h. No metadata is actually loaded unless the StateStorageWithMetadata class is used.

virtual void storeStates(const Header &h, boost::archive::binary_oarchive &oa)

Store the states to a binary archive oa, given the stored header is h.

virtual void storeMetadata(const Header &h, boost::archive::binary_oarchive &oa)

Save the state metadata to a binary archive oa, given the stored header is h. No metadata is actually saved unless the StateStorageWithMetadata class is used.

void freeMemory()

Free the memory allocated for states.

Protected Attributes

StateSpacePtr space_

State space that corresponds to maintained states.

std::vector<const State*> states_

The list of maintained states.

bool hasMetadata_

Flag indicating whether there is metadata associated to the states in this storage.

struct Header

Information stored at the beginning of the archive.

Public Functions

template<typename Archive>
inline void serialize(Archive &ar, const unsigned int)

boost::serialization routine

Public Members

std::uint_fast32_t marker

OMPL specific marker (fixed value)

std::size_t state_count

Number of states stored in the archive.

std::vector<int> signature

Signature of state space that allocated the saved states (see ompl::base::StateSpace::computeSignature())