OpenLexocad  27.0
OpeningElement.h
Go to the documentation of this file.
1 #pragma once
2 #include <OpenLxApp/Door.h>
3 #include <OpenLxApp/Element.h>
5 #include <OpenLxApp/Window.h>
6 
7 #include <memory>
8 
9 FORWARD_DECL(App, OpeningElement)
10 
11 namespace OpenLxApp
12 {
25 {
26  PROXY_HEADER(OpeningElement, App::OpeningElement, IFCOPENINGELEMENT)
27 
28 public:
30  {
31  OPENING, // An opening as subtraction feature that cuts through the element it voids.It thereby creates a hole.An opening in addition have a
32  // particular meaning for either providing a void for doors or windows, or an opening to permit flow of air and passing of light.
33  RECESS, // An opening as subtraction feature that does not cut through the element it voids.It creates a niche or similar voiding pattern.
34  USERDEFINED, // User - defined opening element.
35  NOTDEFINED // Undefined opening element.
36  };
37 
38  void setPredefinedType(OpeningElementTypeEnum aType);
39  OpeningElementTypeEnum getPredefinedType() const;
40 
41  void addFilling(std::shared_ptr<Element> aFilling);
42  std::vector<std::shared_ptr<Element>> getFillings() const;
43  void removeFilling(std::shared_ptr<Element> aFilling);
44  void removeFillings();
45 
46  std::shared_ptr<Element> getVoidedElement() const;
47 
48  virtual ~OpeningElement(void);
49 
50 
51 protected:
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:40
#define PROXY_HEADER(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:149
OpeningElementTypeEnum
Definition: OpeningElement.h:29
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
#define FORWARD_DECL(x, y)
Definition: Globals.h:96
OpeningElement()
Definition: OpeningElement.h:52
The opening element stands for opening, recess or chase, all reflecting voids. It represents a void w...
Definition: OpeningElement.h:24