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