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