OpenLexocad  27.1
OpenLxApp::Element Class Reference

An element is a generalization of all components that make up an AEC product. Those elements can be logically contained by a spatial structure element that constitutes a certain level within a project structure hierarchy (site, building, storey or space). More...

#include <Element.h>

Inheritance diagram for OpenLxApp::Element:
OpenLxApp::Product OpenLxApp::Object Core::DocObjectObserver OpenLxApp::ObjectDefinition OpenLxApp::Root OpenLxApp::DocObject 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

Public Member Functions

virtual ~Element ()=default
 
Placement
void setPlacementRelativeTo (std::shared_ptr< Element > other)
 
void setPlacementRelativeTo (std::shared_ptr< Element > other, bool keepGlobalPosition)
 
std::shared_ptr< ElementgetPlacementRelativeTo () const
 
Layer
bool setLayer (int layernumber)
 
int getLayer () const
 
Openings
void addOpeningElement (std::shared_ptr< OpeningElement > aOpening)
 
void removeOpeningElement (std::shared_ptr< OpeningElement > aOpening)
 
void removeOpeningElements ()
 
std::vector< std::shared_ptr< OpeningElement > > getOpeningElements () const
 
Parametric Cuts
void addParamCutHardElement (std::shared_ptr< Element > aElement)
 
void addParamCutSoftElement (std::shared_ptr< Element > aElement)
 
void removeParamCutHardElement (std::shared_ptr< Element > aElement)
 
void removeParamCutSoftElement (std::shared_ptr< Element > aElement)
 
std::vector< std::shared_ptr< Element > > getParamCutHardElements (bool includeAggregatedElements=false) const
 
std::vector< std::shared_ptr< Element > > getParamCutSoftElements () const
 
bool isParamCutHardElement () const
 
bool isParamCutSoftElement () const
 
SubElements
void addSubElement (std::shared_ptr< SubElement > aSubElement)
 
std::vector< std::shared_ptr< SubElement > > getSubElements () const
 
void removeSubElement (std::shared_ptr< SubElement > aSubElement)
 
void removeSubElements ()
 
Fillings
std::shared_ptr< OpeningElementgetFilledOpeningElement () const
 
Material
void setAssociatedMaterial (std::shared_ptr< MaterialDefinition > aMaterialDefinition)
 
void removeAssociatedMaterial ()
 
std::shared_ptr< MaterialSelectgetAssociatedMaterial () const
 
Misc
bool isTemporary () const
 
void setTemporary (bool on)
 
std::shared_ptr< GroupgetGroup () const
 
std::shared_ptr< Elementcopy () const
 
Topo::Cdwk_SAT_Attributes get_Cdwk_SAT_Attributes () const
 
Base::String getTag () const
 
void setTag (const Base::String &aTag)
 
void setCdwkAttributeData (const CdwkAttributeData &aData)
 
std::string getCadworkGroup () const
 
void setBoundingBoxEnabled (bool enabled)
 
std::shared_ptr< OpenLxApp::GeometrygetAxisRepresentation () const
 
bool setAxisRepresentation (std::shared_ptr< OpenLxApp::Geometry > aGeometry) const
 
std::shared_ptr< OpenLxApp::GeometrygetSolidModelRepresentation () const
 
bool setSolidModelRepresentation (std::shared_ptr< OpenLxApp::Geometry > aGeometry) const
 
void showAxisRepresentation () const
 
void showSolidModelRepresentation () const
 
- Public Member Functions inherited from OpenLxApp::Product
virtual ~Product (void)
 
virtual bool setGeometry (std::shared_ptr< Geometry > geo)
 
std::shared_ptr< GeometrygetGeometry () const
 
Geom::Trsf getGeometryToWorldTransform () const
 
Geom::Bnd_Box getBoundingBox () const
 
Geom::Ax2 getLocalPlacement () const
 
void setLocalPlacement (const Geom::Ax2 &pos)
 
Geom::Trsf getTransform () const
 
Geom::Trsf getLocalToWorldTransform () const
 
void setTransform (const Geom::Trsf &t)
 
void translate (const Geom::Vec &aVec, Geom::CoordSpace aCoordSpace=Geom::CoordSpace::WCS)
 
void rotate (const Geom::Ax1 &axis, double angle, Geom::CoordSpace aCoordSpace=Geom::CoordSpace::WCS)
 
bool getLocalAxes (Geom::Ax2 &localAxes)
 
void setLocalAxes (const Geom::Dir &zHeight, const Geom::Dir &xLength)
 
pConstShape getShape () const
 
pConstShape getLocalShape () const
 
void setOglMaterial (const Draw::OglMaterial &mat, int faceIndex=-1)
 
Draw::OglMaterial getOglMaterial () const
 
void setAmbientColor (const Base::Color &aCol)
 
void setDiffuseColor (const Base::Color &aCol)
 
void setSpecularColor (const Base::Color &aCol)
 
void setEmissiveColor (const Base::Color &aCol)
 
void setReflectiveColor (const Base::Color &aCol)
 
void setShininess (int aVal)
 
void setTransparency (int aVal)
 
void setDrawStyle (const Draw::DrawStyle &ds)
 
Draw::DrawStyle getDrawStyle () const
 
void setLineWidth (float width)
 
void setTexture (const Draw::Texture2 &tex, int faceIndex=-1)
 
void setLengthAndCrossTexture (const Draw::Texture2 &lengthTexture, const Draw::Texture2 &crossTexture, const Draw::Texture2Transform &lengthTextureTrsf=Draw::Texture2Transform(), const Draw::Texture2Transform &crossTextureTrsf=Draw::Texture2Transform())
 
std::shared_ptr< SpatialStructureElementgetSpatialStructure () const
 
void setSpatialStructure (std::shared_ptr< SpatialStructureElement > aSpatialStructureElement)
 
void setPositionNb (long value)
 
long getPositionNb () const
 
bool isVisible () const
 
void setVisible (bool onoff)
 
bool registerPythonClass (const std::string &aClassName, const std::string &aParentClassName)
 
virtual Base::GlobalId getGlobalClassId () const
 
std::shared_ptr< PropertyIntegerregisterPropertyInteger (const std::string &aName, int aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyEnumregisterPropertyEnum (const std::string &aName, int aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyDoubleregisterPropertyDouble (const std::string &aName, double aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyButtonregisterPropertyButton (const std::string &aName, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyBoolregisterPropertyBool (const std::string &aName, bool aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyStringregisterPropertyString (const std::string &aName, Base::String aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< PropertyColorregisterPropertyColor (const std::string &aName, Base::Color aDefaultValue, Property::Visible aVisible=Property::VISIBLE, Property::Editable aEditable=Property::EDITABLE, int aTranslationId=-1)
 
std::shared_ptr< OpenLxApp::PropertygetProperty (const std::string &aName) const
 
std::map< std::string, std::shared_ptr< Property > > getPropertyMap () const
 
std::shared_ptr< PropertyIntegergetPropertyInteger (const std::string &aName) const
 
std::shared_ptr< PropertyEnumgetPropertyEnum (const std::string &aName) const
 
std::shared_ptr< PropertyDoublegetPropertyDouble (const std::string &aName) const
 
std::shared_ptr< PropertyButtongetPropertyButton (const std::string &aName) const
 
std::shared_ptr< PropertyBoolgetPropertyBool (const std::string &aName) const
 
std::shared_ptr< PropertyStringgetPropertyString (const std::string &aName) const
 
std::shared_ptr< PropertyColorgetPropertyColor (const std::string &aName) const
 
bool isRegisteredProperty (const std::string &aName) const
 
virtual void onPropertyChanged (const std::string &aPropertyName)
 
virtual void onScaling (const Geom::Vec &aVec, const Geom::Pnt &aScaleBasePnt)
 
virtual void translateAfterScaled (const Geom::Vec &aVec, const Geom::Pnt &aScaleBasePnt)
 
void setStandardManipulatorPolicy (const Core::StandardManipulatorPolicy &aPolicy)
 
void setPropertyHeader (const Base::String &aDefaultName, int aTranslationId)
 
void setPropertyHeader (const Base::String &aDefaultName)
 
void setPropertyGroupName (const Base::String &aDefaultName, int aTranslationId)
 
void setPropertyGroupName (const Base::String &aDefaultName)
 
Base::String getPropertyHeader () const
 
Base::String getPropertyGroupName () const
 
std::shared_ptr< PropertyUsergetPropertyUser (const std::string &aName) const
 
std::vector< std::shared_ptr< PropertyUser > > getPropertyUser () const
 
std::vector< Base::StringgetPropertySetNames () const
 
std::shared_ptr< PropertySetgetPropertySetByName (const Base::String &aName) const
 
ExternalPythonTypeObjectgetExternalPythonTypeObject () const
 
void setExternalPythonTypeObject (ExternalPythonTypeObject *aObj)
 
void removeExternalTypeObject ()
 
- Public Member Functions inherited from OpenLxApp::Object
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
 
- Public Member Functions inherited from Core::DocObjectObserver
virtual ~DocObjectObserver ()
 

Protected Member Functions

 Element ()=default
 
void _copySubElems (App::Element *fromElem, std::shared_ptr< Element > toElem) const
 
- Protected Member Functions inherited from OpenLxApp::Product
void onChange (Core::DocObject *aCaller, const Core::DocObjectObserverMsg &aReason) override
 
 Product ()
 
- Protected Member Functions inherited from OpenLxApp::Object
 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 element is a generalization of all components that make up an AEC product. Those elements can be logically contained by a spatial structure element that constitutes a certain level within a project structure hierarchy (site, building, storey or space).

Constructor & Destructor Documentation

◆ ~Element()

virtual OpenLxApp::Element::~Element ( )
virtualdefault

◆ Element()

OpenLxApp::Element::Element ( )
protecteddefault

Member Function Documentation

◆ _copySubElems()

void OpenLxApp::Element::_copySubElems ( App::Element *  fromElem,
std::shared_ptr< Element toElem 
) const
protected

◆ addOpeningElement()

void OpenLxApp::Element::addOpeningElement ( std::shared_ptr< OpeningElement aOpening)

◆ addParamCutHardElement()

void OpenLxApp::Element::addParamCutHardElement ( std::shared_ptr< Element aElement)

◆ addParamCutSoftElement()

void OpenLxApp::Element::addParamCutSoftElement ( std::shared_ptr< Element aElement)

◆ addSubElement()

void OpenLxApp::Element::addSubElement ( std::shared_ptr< SubElement aSubElement)

◆ copy()

std::shared_ptr<Element> OpenLxApp::Element::copy ( ) const

◆ get_Cdwk_SAT_Attributes()

Topo::Cdwk_SAT_Attributes OpenLxApp::Element::get_Cdwk_SAT_Attributes ( ) const

◆ getAssociatedMaterial()

std::shared_ptr<MaterialSelect> OpenLxApp::Element::getAssociatedMaterial ( ) const

◆ getAxisRepresentation()

std::shared_ptr<OpenLxApp::Geometry> OpenLxApp::Element::getAxisRepresentation ( ) const

@desc Interface to allow "switching" between Axis and SolidModel Representations

◆ getCadworkGroup()

std::string OpenLxApp::Element::getCadworkGroup ( ) const

◆ getFilledOpeningElement()

std::shared_ptr<OpeningElement> OpenLxApp::Element::getFilledOpeningElement ( ) const

◆ getGroup()

std::shared_ptr<Group> OpenLxApp::Element::getGroup ( ) const

◆ getLayer()

int OpenLxApp::Element::getLayer ( ) const

◆ getOpeningElements()

std::vector<std::shared_ptr<OpeningElement> > OpenLxApp::Element::getOpeningElements ( ) const

◆ getParamCutHardElements()

std::vector<std::shared_ptr<Element> > OpenLxApp::Element::getParamCutHardElements ( bool  includeAggregatedElements = false) const

◆ getParamCutSoftElements()

std::vector<std::shared_ptr<Element> > OpenLxApp::Element::getParamCutSoftElements ( ) const

◆ getPlacementRelativeTo()

std::shared_ptr<Element> OpenLxApp::Element::getPlacementRelativeTo ( ) const

◆ getSolidModelRepresentation()

std::shared_ptr<OpenLxApp::Geometry> OpenLxApp::Element::getSolidModelRepresentation ( ) const

◆ getSubElements()

std::vector<std::shared_ptr<SubElement> > OpenLxApp::Element::getSubElements ( ) const

◆ getTag()

Base::String OpenLxApp::Element::getTag ( ) const

◆ isParamCutHardElement()

bool OpenLxApp::Element::isParamCutHardElement ( ) const

◆ isParamCutSoftElement()

bool OpenLxApp::Element::isParamCutSoftElement ( ) const

◆ isTemporary()

bool OpenLxApp::Element::isTemporary ( ) const

◆ removeAssociatedMaterial()

void OpenLxApp::Element::removeAssociatedMaterial ( )

◆ removeOpeningElement()

void OpenLxApp::Element::removeOpeningElement ( std::shared_ptr< OpeningElement aOpening)

◆ removeOpeningElements()

void OpenLxApp::Element::removeOpeningElements ( )

◆ removeParamCutHardElement()

void OpenLxApp::Element::removeParamCutHardElement ( std::shared_ptr< Element aElement)

◆ removeParamCutSoftElement()

void OpenLxApp::Element::removeParamCutSoftElement ( std::shared_ptr< Element aElement)

◆ removeSubElement()

void OpenLxApp::Element::removeSubElement ( std::shared_ptr< SubElement aSubElement)

◆ removeSubElements()

void OpenLxApp::Element::removeSubElements ( )

◆ setAssociatedMaterial()

void OpenLxApp::Element::setAssociatedMaterial ( std::shared_ptr< MaterialDefinition aMaterialDefinition)

◆ setAxisRepresentation()

bool OpenLxApp::Element::setAxisRepresentation ( std::shared_ptr< OpenLxApp::Geometry aGeometry) const

◆ setBoundingBoxEnabled()

void OpenLxApp::Element::setBoundingBoxEnabled ( bool  enabled)

◆ setCdwkAttributeData()

void OpenLxApp::Element::setCdwkAttributeData ( const CdwkAttributeData aData)

◆ setLayer()

bool OpenLxApp::Element::setLayer ( int  layernumber)

◆ setPlacementRelativeTo() [1/2]

void OpenLxApp::Element::setPlacementRelativeTo ( std::shared_ptr< Element other)

◆ setPlacementRelativeTo() [2/2]

void OpenLxApp::Element::setPlacementRelativeTo ( std::shared_ptr< Element other,
bool  keepGlobalPosition 
)

◆ setSolidModelRepresentation()

bool OpenLxApp::Element::setSolidModelRepresentation ( std::shared_ptr< OpenLxApp::Geometry aGeometry) const

◆ setTag()

void OpenLxApp::Element::setTag ( const Base::String aTag)

◆ setTemporary()

void OpenLxApp::Element::setTemporary ( bool  on)

◆ showAxisRepresentation()

void OpenLxApp::Element::showAxisRepresentation ( ) const

◆ showSolidModelRepresentation()

void OpenLxApp::Element::showSolidModelRepresentation ( ) const

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