GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
MeasurementSurfaceStore.h
1 #ifndef MeasurementSurfaceStore_h
2 #define MeasurementSurfaceStore_h
3 
9 #include <map>
10 #include <vector>
11 #include <iostream>
12 
13 namespace gear{
14 
15  class MeasurementSurface;
16 
17  class MeasurementSurfaceStoreFiller;
18 
19 
21 
22  public:
23 
25  MeasurementSurfaceStore() : _store_filled(0) , _fillerName("") { _measurement_surface_map.clear() ;}
26 
29 
30 
33 
35  MeasurementSurface const* GetMeasurementSurface( int ID ) const ;
36 
39 
41  bool isFilled() const { return _store_filled ; }
42 
44  std::string getFillerName() const ;
45 
46  private:
47 
48  MeasurementSurfaceStore& operator=(const MeasurementSurfaceStore&) ; // prevent assignment operator
49 
50  void addMeasurementSurface(MeasurementSurface* ms);
51 
52  // private member variables
53  std::map<int,MeasurementSurface* > _measurement_surface_map{};
54 
55  typedef std::map<int, MeasurementSurface*>::const_iterator ms_map_it ;
56 
57  bool _store_filled{};
58 
59  std::string _fillerName{};
60 
61  };
62 
64 
65  public:
66 
67  virtual ~MeasurementSurfaceStoreFiller() { /* no op */ }
68 
69  virtual void getMeasurementSurfaces(std::vector<MeasurementSurface*>&) const = 0 ;
70  virtual std::string getName() const = 0;
71 
72  } ;
73 
74 
75 } // end of gear namespace
76 
77 #endif
MeasurementSurface const * GetMeasurementSurface(int ID) const
Get Measurement Surface via ID.
MeasurementSurfaceStore()
Default Constructor.
bool isFilled() const
Check if the store has been filled already.
void FillStore(MeasurementSurfaceStoreFiller *filler)
Fill Store.
std::string getFillerName() const
Get the Name of the Filler used to fill the store.