GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
geartgeo/GearMaterialProperties.h
1 // -*- C++ -*-
2 #ifndef GEAR_GearMaterialProperties_H
3 #define GEAR_GearMaterialProperties_H 1
4 
5 namespace gear {
6 
7  class GearPointProperties ;
8  class GearDistanceProperties ;
9 
10  typedef stdd:map<std::string,std::string> ConfigMap ;
11 
19  class GearMaterialProperties {
20 
21  public:
22 
27  ConfigMap& config() { return _cfg ; }
28 
31  void initialize() = 0 ;
32 
35  virtual GearPointProperties* getGearPointProperties() const = 0;
36 
40 
41 
42  private:
43  ConfigMap _cfg{} ;
44 
45 
46  }; // class
47 
48 
51  class GearMaterialPropertiesFactory{
52 
53  public:
54 
57  GearMaterialProperties* create() = 0 ;
58 
59 
60  protected:
64  static GearMaterialPropertiesFactory* _me ;
65  return _me ;
66  }
67 
68 
69  } ;
70 } // namespace gear
71 #endif /* ifndef GEAR_GearMaterialProperties_H */
Abstract interface for a class that returns the (material) properties along a given distance between ...
virtual GearDistanceProperties * getGearDistanceProperties() const =0
Get an instance of the GearDistanceProperties - 0 if not initialized.
virtual GearMaterialProperties * create() const =0
Create a new object of the GearMaterialProperties.
virtual GearPointProperties * getGearPointProperties() const =0
Get an instance of the GearPointProperties - 0 if not initialized.
Factory singleton class - plugin libraries will have to implement a concrete factory and register it ...
GearMaterialPropertiesFactory * instance()
The instance.
virtual void initialize()=0
Initialize a concrete implemetaiton of the detailed material properties - after the configuration...
Abstract interface for a class that returns the (material) properties of a given point in in world co...
ConfigMap & config()
Use to configure an instance of the material properties, e.g.