OpenLexocad  27.1
OpenLxApp::ObjectDefinition Class Reference

An ObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrences. Objects are independent pieces of information that might contain or reference other pieces of information. There are four essential kinds of relationships in which object definitions (by their instantiable subtypes) can be involved: More...

#include <ObjectDefinition.h>

Inheritance diagram for OpenLxApp::ObjectDefinition:
OpenLxApp::Root OpenLxApp::DocObject OpenLxApp::Object 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 ~ObjectDefinition (void)
 
Decomposition
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
 
Aggregation (Specialization of a Decomposition)
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
 
Association
void addAssociationObject (std::shared_ptr< Root > aObject)
 
std::vector< std::shared_ptr< Root > > getAssociationObjects () const
 
IFC Properties
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

 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 ObjectDefinition is the generalization of any semantically treated thing or process, either being a type or an occurrences. Objects are independent pieces of information that might contain or reference other pieces of information. There are four essential kinds of relationships in which object definitions (by their instantiable subtypes) can be involved:

  • Assignment of other objects
  • Association to external resources
  • Aggregation of other objects
  • Nesting of other objects
  • Declaration within a context

Constructor & Destructor Documentation

◆ ~ObjectDefinition()

virtual OpenLxApp::ObjectDefinition::~ObjectDefinition ( void  )
virtual

◆ ObjectDefinition()

OpenLxApp::ObjectDefinition::ObjectDefinition ( )
protected

Member Function Documentation

◆ addAggregationObject()

void OpenLxApp::ObjectDefinition::addAggregationObject ( std::shared_ptr< ObjectDefinition aObject)

◆ addAggregationObjects()

void OpenLxApp::ObjectDefinition::addAggregationObjects ( const std::vector< std::shared_ptr< ObjectDefinition >> &  aObjects)

◆ addAssociationObject()

void OpenLxApp::ObjectDefinition::addAssociationObject ( std::shared_ptr< Root aObject)

◆ getAggregatedObject()

std::shared_ptr<ObjectDefinition> OpenLxApp::ObjectDefinition::getAggregatedObject ( ) const

◆ getAggregationObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getAggregationObjects ( ) const

◆ getAllAggregatedObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getAllAggregatedObjects ( ) const

◆ getAllAggregationObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getAllAggregationObjects ( ) const

◆ getAllDecomposedObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getAllDecomposedObjects ( ) const

◆ getAllDecompositionObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getAllDecompositionObjects ( ) const

◆ getAssociationObjects()

std::vector<std::shared_ptr<Root> > OpenLxApp::ObjectDefinition::getAssociationObjects ( ) const

◆ getDecomposedObject()

std::shared_ptr<ObjectDefinition> OpenLxApp::ObjectDefinition::getDecomposedObject ( ) const

◆ getDecompositionObjects()

std::vector<std::shared_ptr<ObjectDefinition> > OpenLxApp::ObjectDefinition::getDecompositionObjects ( ) const

◆ getIfcPropertySets()

std::shared_ptr<LxIfcBase::LxIfcProperty> OpenLxApp::ObjectDefinition::getIfcPropertySets ( ) const

◆ removeAggregationObject()

void OpenLxApp::ObjectDefinition::removeAggregationObject ( std::shared_ptr< ObjectDefinition aObject)

◆ removeAggregationObjects()

void OpenLxApp::ObjectDefinition::removeAggregationObjects ( )

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