OpenLexocad  27.0
ObjectDefinition.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <LxIfcBase/LxIfcProperty.h>
6 #include <OpenLxApp/Root.h>
7 
8 #include <memory>
9 #include <vector>
10 
11 FORWARD_DECL(App, ObjectDefinition)
12 
13 namespace OpenLxApp
14 {
31 {
32  PROXY_HEADER_ABSTRACT(ObjectDefinition, App::ObjectDefinition, IFCOBJECTDEFINITION)
33 
34 public:
37 
38  std::vector<std::shared_ptr<ObjectDefinition>> getDecompositionObjects() const;
39  std::vector<std::shared_ptr<ObjectDefinition>> getAllDecompositionObjects() const;
40  std::shared_ptr<ObjectDefinition> getDecomposedObject() const;
41  std::vector<std::shared_ptr<ObjectDefinition>> getAllDecomposedObjects() const;
43 
44 
47  void addAggregationObject(std::shared_ptr<ObjectDefinition> aObject);
48  void addAggregationObjects(const std::vector<std::shared_ptr<ObjectDefinition>>& aObjects);
49  void removeAggregationObject(std::shared_ptr<ObjectDefinition> aObject);
50  void removeAggregationObjects();
51  std::vector<std::shared_ptr<ObjectDefinition>> getAggregationObjects() const;
52  std::vector<std::shared_ptr<ObjectDefinition>> getAllAggregationObjects() const;
53  std::shared_ptr<ObjectDefinition> getAggregatedObject() const;
54  std::vector<std::shared_ptr<ObjectDefinition>> getAllAggregatedObjects() const;
56 
59  // void addAssignmentObject(std::shared_ptr<ObjectDefinition> aObject, App::ObjectTypeEnum aObjectType = NOTDEFINED);
60  // std::vector<std::shared_ptr<ObjectDefinition>> getAssignmentObjects() const;
62 
65  void addAssociationObject(std::shared_ptr<Root> aObject);
66  std::vector<std::shared_ptr<Root>> getAssociationObjects() const;
68 
71  std::shared_ptr<LxIfcBase::LxIfcProperty> getIfcPropertySets() const;
73 
74  virtual ~ObjectDefinition(void);
75 
76 protected:
78 };
79 
80 } // namespace OpenLxApp
#define PROXY_HEADER_ABSTRACT(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:140
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
An ObjectDefinition is the generalization of any semantically treated thing or process,...
Definition: ObjectDefinition.h:30
Root is the base class of all BIM related entities. All BIM entities can be identified by a Globally ...
Definition: Root.h:20
#define FORWARD_DECL(x, y)
Definition: Globals.h:96