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