OpenLexocad  27.0
Building.h
Go to the documentation of this file.
1 #pragma once
5 
6 #include <memory>
7 
8 FORWARD_DECL(App, Building)
9 
10 
15 namespace OpenLxApp
16 {
27 {
28  PROXY_HEADER(Building, App::Building, IFCBUILDING)
29 
30 public:
31  virtual ~Building(void);
32 
33  void addBuildingStorey(std::shared_ptr<BuildingStorey> aBuildingStorey);
34  std::vector<std::shared_ptr<BuildingStorey>> getBuildingStoreys() const;
35 
36 protected:
37  Building() {}
38 };
39 } // namespace OpenLxApp
40 
41 
42 
43 // IfcRoot -----------------------------------------------------------
44 // attributes:
45 // std::shared_ptr<IfcGloballyUniqueId> m_GlobalId;
46 // std::shared_ptr<IfcOwnerHistory> m_OwnerHistory; //optional
47 // std::shared_ptr<IfcLabel> m_Name; //optional
48 // std::shared_ptr<IfcText> m_Description; //optional
49 
50 // IfcObjectDefinition -----------------------------------------------------------
51 // inverse attributes:
52 // std::vector<std::weak_ptr<IfcRelAssigns> > m_HasAssignments_inverse;
53 // std::vector<std::weak_ptr<IfcRelNests> > m_Nests_inverse;
54 // std::vector<std::weak_ptr<IfcRelNests> > m_IsNestedBy_inverse;
55 // std::vector<std::weak_ptr<IfcRelDeclares> > m_HasContext_inverse;
56 // std::vector<std::weak_ptr<IfcRelAggregates> > m_IsDecomposedBy_inverse;
57 // std::vector<std::weak_ptr<IfcRelAggregates> > m_Decomposes_inverse;
58 // std::vector<std::weak_ptr<IfcRelAssociates> > m_HasAssociations_inverse;
59 
60 // IfcObject -----------------------------------------------------------
61 // attributes:
62 // std::shared_ptr<IfcLabel> m_ObjectType; //optional
63 // inverse attributes:
64 // std::vector<std::weak_ptr<IfcRelDefinesByObject> > m_IsDeclaredBy_inverse;
65 // std::vector<std::weak_ptr<IfcRelDefinesByObject> > m_Declares_inverse;
66 // std::vector<std::weak_ptr<IfcRelDefinesByType> > m_IsTypedBy_inverse;
67 // std::vector<std::weak_ptr<IfcRelDefinesByProperties> > m_IsDefinedBy_inverse;
68 
69 // IfcProduct -----------------------------------------------------------
70 // attributes:
71 // std::shared_ptr<IfcObjectPlacement> m_ObjectPlacement; //optional
72 // std::shared_ptr<IfcProductRepresentation> m_Representation; //optional
73 // inverse attributes:
74 // std::vector<std::weak_ptr<IfcRelAssignsToProduct> > m_ReferencedBy_inverse;
75 
76 // IfcSpatialElement -----------------------------------------------------------
77 // attributes:
78 // std::shared_ptr<IfcLabel> m_LongName; //optional
79 // inverse attributes:
80 // std::vector<std::weak_ptr<IfcRelContainedInSpatialStructure> > m_ContainsElements_inverse;
81 // std::vector<std::weak_ptr<IfcRelServicesBuildings> > m_ServicedBySystems_inverse;
82 // std::vector<std::weak_ptr<IfcRelReferencedInSpatialStructure> > m_ReferencesElements_inverse;
83 
84 // IfcSpatialStructureElement -----------------------------------------------------------
85 // attributes:
86 // std::shared_ptr<IfcElementCompositionEnum> m_CompositionType; //optional
87 
88 // IfcBuilding -----------------------------------------------------------
89 // attributes:
90 // std::shared_ptr<IfcLengthMeasure> m_ElevationOfRefHeight; //optional
91 // std::shared_ptr<IfcLengthMeasure> m_ElevationOfTerrain; //optional
92 // std::shared_ptr<IfcPostalAddress> m_BuildingAddress; //optional
#define PROXY_HEADER(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:149
A building represents a structure that provides shelter for its occupants or contents and stands in o...
Definition: Building.h:26
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
Building()
Definition: Building.h:37
A spatial structure element is the generalization of all spatial elements that might be used to defin...
Definition: SpatialStructureElement.h:25
#define FORWARD_DECL(x, y)
Definition: Globals.h:96