OpenLexocad  27.0
Roof.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <OpenLxApp/Element.h>
5 
6 #include <memory>
7 
8 FORWARD_DECL(App, Roof)
9 
10 namespace OpenLxApp
11 {
23 {
24  PROXY_HEADER(Roof, App::Roof, IFCROOF)
25 
26 public:
27  enum class RoofTypeEnum
28  {
29  FLAT_ROOF,
30  SHED_ROOF,
31  GABLE_ROOF,
32  HIP_ROOF,
33  HIPPED_GABLE_ROOF,
34  GAMBREL_ROOF,
35  MANSARD_ROOF,
36  BARREL_ROOF,
37  RAINBOW_ROOF,
38  BUTTERFLY_ROOF,
39  PAVILION_ROOF,
40  DOME_ROOF,
41  FREEFORM,
42  USERDEFINED,
43  NOTDEFINED
44  };
45 
46  void setPredefinedType(RoofTypeEnum aType);
47  RoofTypeEnum getPredefinedType() const;
48 
49  virtual ~Roof(void);
50 
51 
52 protected:
53  Roof() {}
54 };
55 
56 } // namespace OpenLxApp
An element is a generalization of all components that make up an AEC product. Those elements can be l...
Definition: Element.h:40
Roof()
Definition: Roof.h:53
#define PROXY_HEADER(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:149
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
A roof is the covering of the top part of a building, it protects the building against the effects of...
Definition: Roof.h:22
RoofTypeEnum
Definition: Roof.h:27
#define FORWARD_DECL(x, y)
Definition: Globals.h:96