OpenLexocad  27.1
OpenLxApp::Object Class Reference

An IfcObject is the generalization of any semantically treated thing or process. Objects are things as they appear - i.e. occurrences. More...

#include <Object.h>

Inheritance diagram for OpenLxApp::Object:
OpenLxApp::ObjectDefinition OpenLxApp::Root OpenLxApp::DocObject OpenLxApp::Product OpenLxApp::Element OpenLxApp::SpatialElement OpenLxApp::Beam OpenLxApp::BuildingElementProxy OpenLxApp::Chimney OpenLxApp::Column OpenLxApp::Covering OpenLxApp::CurtainWall OpenLxApp::DiscreteAccessory OpenLxApp::Door OpenLxApp::ElementAssembly OpenLxApp::Footing OpenLxApp::Member OpenLxApp::OpeningElement OpenLxApp::Pile OpenLxApp::PipeSegment OpenLxApp::Plate OpenLxApp::Railing OpenLxApp::Ramp OpenLxApp::RampFlight OpenLxApp::ReinforcingBar OpenLxApp::Roof OpenLxApp::Slab OpenLxApp::Stair OpenLxApp::StairFlight OpenLxApp::TerrainElement OpenLxApp::Wall OpenLxApp::Window OpenLxApp::ExternalSpatialStructureElement OpenLxApp::SpatialStructureElement OpenLxApp::SpatialZone

Public Member Functions

virtual ~Object (void)
 
- Public Member Functions inherited from OpenLxApp::ObjectDefinition
virtual ~ObjectDefinition (void)
 
std::vector< std::shared_ptr< ObjectDefinition > > getDecompositionObjects () const
 
std::vector< std::shared_ptr< ObjectDefinition > > getAllDecompositionObjects () const
 
std::shared_ptr< ObjectDefinitiongetDecomposedObject () const
 
std::vector< std::shared_ptr< ObjectDefinition > > getAllDecomposedObjects () const
 
void addAggregationObject (std::shared_ptr< ObjectDefinition > aObject)
 
void addAggregationObjects (const std::vector< std::shared_ptr< ObjectDefinition >> &aObjects)
 
void removeAggregationObject (std::shared_ptr< ObjectDefinition > aObject)
 
void removeAggregationObjects ()
 
std::vector< std::shared_ptr< ObjectDefinition > > getAggregationObjects () const
 
std::vector< std::shared_ptr< ObjectDefinition > > getAllAggregationObjects () const
 
std::shared_ptr< ObjectDefinitiongetAggregatedObject () const
 
std::vector< std::shared_ptr< ObjectDefinition > > getAllAggregatedObjects () const
 
void addAssociationObject (std::shared_ptr< Root > aObject)
 
std::vector< std::shared_ptr< Root > > getAssociationObjects () const
 
std::shared_ptr< LxIfcBase::LxIfcProperty > getIfcPropertySets () const
 
- Public Member Functions inherited from OpenLxApp::Root
void setUserName (const Base::String &aName)
 
Base::String getUserName () const
 
virtual ~Root (void)
 
Base::GlobalId getGlobalId () const
 
bool setGlobalId (const Base::GlobalId &aGlobalId)
 
- Public Member Functions inherited from OpenLxApp::DocObject
std::shared_ptr< DocumentgetDocument () const
 
bool isNew () const
 
bool isUpdated () const
 
bool isValid () const
 
bool hasErrors () const
 
void touch ()
 
LxIfc4::LxIfc4EntityEnum getEntityType () const
 
std::string getEntityTypeAsString () const
 
std::shared_ptr< Core::DbgInfogetDbgInfo () const
 
 DocObject (Core::DocObject *aObject)
 
virtual ~DocObject (void)
 
Core::DocObject__getObj__ () const
 

Protected Member Functions

 Object ()
 
- Protected Member Functions inherited from OpenLxApp::ObjectDefinition
 ObjectDefinition ()
 
- Protected Member Functions inherited from OpenLxApp::Root
 Root ()
 
- Protected Member Functions inherited from OpenLxApp::DocObject
 DocObject ()
 

Additional Inherited Members

- Protected Attributes inherited from OpenLxApp::DocObject
Core::DocObject_coreObj = nullptr
 

Detailed Description

An IfcObject is the generalization of any semantically treated thing or process. Objects are things as they appear - i.e. occurrences.

NOTE Examples of IfcObject include physically tangible items such as wall, beam or covering, physically existing items such as spaces, or conceptual items such as grids or virtual boundaries. It also stands for processes such as work tasks, for controls such as cost items, or for actors such as persons involved in the design process. Objects can be named, using the inherited Name attribute, which should be a user recognizable label for the object occurrence. Further explanations to the object can be given using the inherited Description attribute. The ObjectType attribute is used:

to store the user defined value for all subtypes of IfcObject, where a PredefinedType attribute is given, and its value is set to USERDEFINED. to provide a type information (could be seen as a very lightweight classifier) of the subtype of IfcObject, if no PredefinedType attribute is given. This is often the case, if no comprehensive list of predefined types is available. Objects are independent pieces of information that might contain or reference other pieces of information. There are several relationships in which objects can be involved:

  • Association to external/internal resource information - an association relationship that refers to external/internal sources of information. See supertype IfcObjectDefinition for more information.
  • Assignment of other objects - an assignment relationship that refers to other types of objects. See supertype IfcObjectDefinition for more information.
  • Aggregation of other objects - an aggregation relationship that establishes a whole/part relation. Objects can either be a whole, or a part, or both. See supertype IfcObjectDefinition for more information.
  • Assignment of a type : IsTypedBy - a definition relationship IfcRelDefinesByType that uses a type definition to define the common characteristics of this occurrences, potentially including the common shape representation and common properties of all object occurrences assigned to this type. It is a specific - occurrence relationship with implied dependencies (as the occurrence properties depend on the properties of the type, but may override them).
  • Assignment of a partial type : IsDeclaredBy, Declares - a definition relationship IfcRelDefinesByObject that uses a component of a type definition (a part of a type, called the "declaring part") to define a component of an occurence (part of occurrence, called the "reflected part"). This is also refered to as a "deep copy". The common characteristics of all parts in the occurrence are defined by parts in the type. It is a specific - occurrence relationship with implied dependencies (as the occurrence properties depend on the properties of the type, but may override them).
  • Assignment of property sets : IsDefinedBy - a definition relationship IfcRelDefinesByProperties that assignes property set definitions to the object occurrence.

Constructor & Destructor Documentation

◆ ~Object()

virtual OpenLxApp::Object::~Object ( void  )
virtual

◆ Object()

OpenLxApp::Object::Object ( )
protected

The documentation for this class was generated from the following file: