LEMUR Packages: ompl_lemur or_lemur pr_bgl prpy_lemur
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Groups Pages
Cache.h
Go to the documentation of this file.
1 
7 namespace ompl_lemur
8 {
9 
10 // cache object which handles roadmaps and spaceinfo results on them
11 // stateless object, except cache location etc on construction
12 class Cache
13 {
14 public:
15  virtual ~Cache() {}
16 
17  // these load/save a roadmap w.r.t. a cache
18  // using the roadmap's unique id AND the underlying space's id
19  virtual void roadmap_load(ompl_lemur::MultiSetRoadmap * roadmap) = 0;
20  virtual void roadmap_save(ompl_lemur::MultiSetRoadmap * roadmap) = 0;
21 
22  // these load/save results for different edges
23  // maybe i should do deltas or something at some point?
24 
25  // does not check for consistency
26  virtual void si_load(
27  ompl_lemur::MultiSetRoadmap * roadmap, std::string set_id,
28  std::vector< std::pair<unsigned int, bool> > & vertex_results,
29  std::vector< std::pair<unsigned int, bool> > & edge_results) = 0;
30 
31  virtual void si_save(
32  ompl_lemur::MultiSetRoadmap * roadmap, std::string set_id,
33  std::vector< std::pair<unsigned int, bool> > & vertex_results,
34  std::vector< std::pair<unsigned int, bool> > & edge_results) = 0;
35 };
36 
37 typedef boost::shared_ptr<Cache> CachePtr;
38 
39 Cache * cache_create(std::string cache_dir);
40 
41 } // namespace ompl_lemur
Definition: Cache.h:12