ompl::control::PlannerDataStorage Class Reference
It is assumed that the edges in stored/loaded PlannerData can be cast to PlannerDataEdgeControl in this class. If this is not the case, see ompl::base::PlannerDataStorage. More...
#include <ompl/control/PlannerDataStorage.h>
Inheritance diagram for ompl::control::PlannerDataStorage:

Public Member Functions | |
PlannerDataStorage () | |
Default constructor. | |
virtual | ~PlannerDataStorage () |
Destructor. | |
virtual void | load (const char *filename, base::PlannerData &pd) |
Load the PlannerData structure from the given filename. | |
virtual void | load (std::istream &in, base::PlannerData &pd) |
Deserializes the structure from the given stream. | |
virtual void | store (const base::PlannerData &pd, const char *filename) |
Store (serialize) the structure to the given filename. The StateSpace and ControlSpace that was used to store the data must match those inside of the argument PlannerData. | |
virtual void | store (const base::PlannerData &pd, std::ostream &out) |
Load the PlannerData structure from the given stream. The StateSpace and ControlSpace that was used to store the data must match those inside of the argument PlannerData. | |
Protected Member Functions | |
virtual void | loadEdges (base::PlannerData &pd, unsigned int numEdges, boost::archive::binary_iarchive &ia) |
Read numEdges from the binary input ia and store them as PlannerData. It is assumed that the edges can be cast to ompl::control::PlannerDataEdgeControl. | |
virtual void | storeEdges (const base::PlannerData &pd, boost::archive::binary_oarchive &oa) |
Serialize and store all edges in pd to the binary archive. It is assumed that the edges can be cast to ompl::control::PlannerDataEdgeControl. |
Detailed Description
It is assumed that the edges in stored/loaded PlannerData can be cast to PlannerDataEdgeControl in this class. If this is not the case, see ompl::base::PlannerDataStorage.
Object that handles loading/storing a PlannerData object to/from a binary stream. Serialization of vertices and edges is performed using the Boost archive method serialize. Derived vertex/edge classes are handled, presuming those classes implement the serialize method.
- Remarks:
- Since the serialize method for vertices and edges is templated, it cannot be virtual. To serialize a derived class AND the base class data, a special call can be invoked inside of serialize that instructs the serializer to also serialize the base class. The derived class must also have a GUID exposed to the serializer for proper deserialization at runtime. This is performed with the BOOST_CLASS_EXPORT macro. An example of these items is given below:
#include <boost/serialization/export.hpp> class MyVertexClass : public ompl::base::PlannerDataVertex { // ---SNIP--- template <class Archive> void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::base_object<ompl::base::PlannerDataVertex>(*this); // ... (The other members of MyVertexClass) } }; BOOST_CLASS_EXPORT(MyVertexClass);
Definition at line 52 of file PlannerDataStorage.h.
The documentation for this class was generated from the following files:
- ompl/control/PlannerDataStorage.h
- ompl/control/src/PlannerDataStorage.cpp