CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
OdIfc4::IfcProfileDef Class Reference

#include <IfcProfileDefAutoImpl.h>

Inheritance diagram for OdIfc4::IfcProfileDef:
OdIfc::OdIfcEntity OdIfc4::IfcArbitraryClosedProfileDef OdIfc4::IfcArbitraryOpenProfileDef OdIfc4::IfcCompositeProfileDef OdIfc4::IfcDerivedProfileDef OdIfc4::IfcParameterizedProfileDef OdIfc4::IfcArbitraryProfileDefWithVoids OdIfc4::IfcCenterLineProfileDef OdIfc4::IfcMirroredProfileDef OdIfc4::IfcAsymmetricIShapeProfileDef OdIfc4::IfcCShapeProfileDef OdIfc4::IfcCircleProfileDef OdIfc4::IfcEllipseProfileDef OdIfc4::IfcIShapeProfileDef OdIfc4::IfcLShapeProfileDef OdIfc4::IfcRectangleProfileDef OdIfc4::IfcTShapeProfileDef OdIfc4::IfcTrapeziumProfileDef OdIfc4::IfcUShapeProfileDef OdIfc4::IfcZShapeProfileDef

Public Member Functions

IfcProfileTypeEnum getProfileType () const
 
void setProfileType (IfcProfileTypeEnum ProfileType)
 
const OdAnsiString & getProfileName () const
 
void setProfileName (const OdAnsiString &ProfileName)
 
void getInvHasExternalReference (OdDAIObjectIds &HasExternalReference) const
 
void getInvHasProperties (OdDAIObjectIds &HasProperties) const
 
 IfcProfileDef ()
 
virtual OdResult inFields (OdDAI::OdSpfFilerBase *rdFiler)
 
virtual OdResult outFields (OdDAI::OdSpfFilerBase *wrFiler)
 
virtual OdDAI::Entity * getInstanceType () const
 
virtual OdRxValue getAttr (const char *attrName) const
 
virtual bool comparedToEarlyImpl (const OdDAI::ApplicationInstance *pOther, OdRx::Ordering &ordering) const
 
virtual void unsetAttr (const char *explicitAttrName)
 
virtual bool testAttr (const char *explicitAttrName) const
 
virtual bool putAttr (const char *explicitAttrName, const OdRxValue &val)
 
virtual bool isKindOf (OdIfc::OdIfcEntityType entityType) const
 
virtual OdIfc::OdIfcEntityType type () const
 
virtual OdRxValue getAttr (const OdIfc::OdIfcAttribute attrDef) const
 
virtual void unsetAttr (const OdIfc::OdIfcAttribute explicitAttrDef)
 
virtual bool testAttr (const OdIfc::OdIfcAttribute explicitAttrDef) const
 
virtual bool putAttr (const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val)
 
- Public Member Functions inherited from OdIfc::OdIfcEntity
 ODRX_DECLARE_MEMBERS (OdIfcEntity)
 
 OdIfcEntity ()
 
 ~OdIfcEntity ()
 
virtual bool isKindOf (OdIfcEntityType entityType) const
 
bool isInstanceOf (OdIfcEntityType entityType) const
 
virtual OdIfcEntityType type () const
 
virtual OdRxValue getAttr (const OdIfcAttribute attrDef) const
 
virtual bool testAttr (const char *explicitAttrName) const
 
virtual bool testAttr (const OdIfcAttribute explicitAttrDef) const
 
virtual void unsetAttr (const char *explicitAttrName)
 
virtual void unsetAttr (const OdIfcAttribute explicitAttrDef)
 
virtual bool putAttr (const char *explicitAttrName, const OdRxValue &val)
 
virtual bool putAttr (const OdIfcAttribute explicitAttrDef, const OdRxValue &val)
 
IfcOpResult resolved ()
 
void resolve (IfcOpResult resolved, void *resPtr)
 
void unresolve ()
 
virtual void setGsNode (OdGsCache *pGsNode)
 
virtual OdGsCachegsNode () const
 
virtual OdUInt32 subSetAttributes (OdGiDrawableTraits *traits) const
 
virtual bool subWorldDraw (OdGiWorldDraw *wd) const
 

Protected Attributes

OdDAI::Enum m_ProfileType
 
OdAnsiString m_ProfileName
 
- Protected Attributes inherited from OdIfc::OdIfcEntity
voidm_resPtr
 
IfcOpResult m_resolved
 

Friends

class IfcExternalReferenceRelationship
 
class IfcProfileProperties
 

Additional Inherited Members

- Static Public Member Functions inherited from OdIfc::OdIfcEntity
static const OdGePoint3dasPoint3d (const OdIfcEntity *pEnt)
 
static const OdGePoint2dasPoint2d (const OdIfcEntity *pEnt)
 
static const OdGeVector3dasVector3d (const OdIfcEntity *pEnt)
 
static const OdGeVector2dasVector2d (const OdIfcEntity *pEnt)
 
static const OdGeMatrix2dasMatrix2d (const OdIfcEntity *pEnt)
 
static const OdGeMatrix3dasMatrix3d (const OdIfcEntity *pEnt)
 
static OdIfcCompoundPtr asCompound (OdSmartPtr< OdIfcEntity > pEnt)
 
static const OdCmEntityColorasRgbColor (const OdIfcEntity *pEnt)
 

Detailed Description

The profile definition in material association is required to be consistent with shape representations of the respective building elements.

The purpose of the profile definition within the sectioned spine is to define a varying cross sections at several positions along a spine curve. The subtype IfcDerivedProfileDef is particularly suited to provide the consecutive profiles to be based on transformations of the start profile and thus maintaining the identity of vertices and edges.

An IfcProfileDef is treated as bounded area if it is used within swept area solids. In this case, the inside of the profile is part of the profile. The attribute ProfileType is set to AREA. An IfcProfileDef is treated as a curve if it is used within swept surfaces. In this case, the inside of the profile (if the curve is closed) is not part of the profile. The attribute ProfileType is set to CURVE.

IfcLibraryReference is used to refer to a library which contains profile definitions. In this case, IfcLibraryReference.ItemReference contains the identifier of the profile within the library and is meant to be machine-readable (in contrast to IfcProfileDef.ProfileName which should be human-readable). IfcLibraryReference.Location and .Name or .ReferencedLibrary further describe the library.

If an external reference is provided, sending systems shall ensure that the shape of the profile definition object agrees with the definitions in the referenced classification or library.

Remarks
Changed from ABSTRACT to non-abstract for uses which do not require an explicitly defined geometry. Added inverse attributes HasProperties and HasExternalReference.

Definition at line 94 of file Ifc4/IfcProfileDefAutoImpl.h.

Constructor & Destructor Documentation

◆ IfcProfileDef()

OdIfc4::IfcProfileDef::IfcProfileDef ( )

Default constructor for the IfcProfileDef class.

Member Function Documentation

◆ comparedToEarlyImpl()

virtual bool OdIfc4::IfcProfileDef::comparedToEarlyImpl ( const OdDAI::ApplicationInstance *  pOther,
OdRx::Ordering ordering 
) const
virtual

Early-bound version of instances comparison.

Parameters
pOther[in] Other application instance.
ordering[out] Receives the ordering (comparison) status.
Returns
true if comparison was performed, false if method has no implementation, so late-bound version could be applied.
Remarks
If the method returns true, the ordering parameter can receive one of the following statuses:
Value Description kLessThan -1 This object < Other Object. kEqual 0 This object = Other Object. kGreaterThan 1 This object > Other Object. kNotOrderable 2 This class is not orderable.

Reimplemented in OdIfc4::IfcArbitraryClosedProfileDef, OdIfc4::IfcArbitraryOpenProfileDef, OdIfc4::IfcArbitraryProfileDefWithVoids, OdIfc4::IfcAsymmetricIShapeProfileDef, OdIfc4::IfcCenterLineProfileDef, OdIfc4::IfcCircleHollowProfileDef, OdIfc4::IfcCircleProfileDef, OdIfc4::IfcCompositeProfileDef, OdIfc4::IfcCShapeProfileDef, OdIfc4::IfcDerivedProfileDef, OdIfc4::IfcEllipseProfileDef, OdIfc4::IfcIShapeProfileDef, OdIfc4::IfcLShapeProfileDef, OdIfc4::IfcMirroredProfileDef, OdIfc4::IfcParameterizedProfileDef, OdIfc4::IfcRectangleHollowProfileDef, OdIfc4::IfcRectangleProfileDef, OdIfc4::IfcRoundedRectangleProfileDef, OdIfc4::IfcTrapeziumProfileDef, OdIfc4::IfcTShapeProfileDef, OdIfc4::IfcUShapeProfileDef, and OdIfc4::IfcZShapeProfileDef.

◆ getAttr() [1/2]

virtual OdRxValue OdIfc4::IfcProfileDef::getAttr ( const char *  attrName) const
virtual

◆ getAttr() [2/2]

virtual OdRxValue OdIfc4::IfcProfileDef::getAttr ( const OdIfc::OdIfcAttribute  attrDef) const
virtual

◆ getInstanceType()

virtual OdDAI::Entity * OdIfc4::IfcProfileDef::getInstanceType ( ) const
virtual

◆ getInvHasExternalReference()

void OdIfc4::IfcProfileDef::getInvHasExternalReference ( OdDAIObjectIds &  HasExternalReference) const

Retrieves a reference to external information. For example, this information can be about library classification or document that is associated with the profile.

Parameters
ProfileName[out] Receives an array of Data Access Interface (DAI) identifiers that are related to external data objects.

◆ getInvHasProperties()

void OdIfc4::IfcProfileDef::getInvHasProperties ( OdDAIObjectIds &  HasProperties) const

Retrieves additional properties of the profile.

Parameters
idsIfcProfileProperties[out] Receives an array of Data Access Interface (DAI) identifiers that are related to objects that define additional properties.

◆ getProfileName()

const OdAnsiString & OdIfc4::IfcProfileDef::getProfileName ( ) const

Returns a human-readable profile name.

Returns
A string that contains name of the profile definition.

◆ getProfileType()

IfcProfileTypeEnum OdIfc4::IfcProfileDef::getProfileType ( ) const

Returns the type of geometry into which this profile definition is resolved.

Returns
Geometry type of the profile definition which is either a curve or a surface area. In case of curve the inside (the bounded area) is not part of the profile definition, in case of area - it is.

◆ inFields()

virtual OdResult OdIfc4::IfcProfileDef::inFields ( OdDAI::OdSpfFilerBase *  rdFiler)
virtual

◆ isKindOf()

virtual bool OdIfc4::IfcProfileDef::isKindOf ( OdIfc::OdIfcEntityType  entityType) const
virtual

◆ outFields()

virtual OdResult OdIfc4::IfcProfileDef::outFields ( OdDAI::OdSpfFilerBase *  wrFiler)
virtual

◆ putAttr() [1/2]

virtual bool OdIfc4::IfcProfileDef::putAttr ( const char *  explicitAttrName,
const OdRxValue val 
)
virtual

◆ putAttr() [2/2]

virtual bool OdIfc4::IfcProfileDef::putAttr ( const OdIfc::OdIfcAttribute  explicitAttrDef,
const OdRxValue val 
)
virtual

◆ setProfileName()

void OdIfc4::IfcProfileDef::setProfileName ( const OdAnsiString &  ProfileName)

Sets a human-readable name of the profile definition.

Parameters
ProfileName[in] Name of the profile definition.

◆ setProfileType()

void OdIfc4::IfcProfileDef::setProfileType ( IfcProfileTypeEnum  ProfileType)

Sets the type of geometry for the profile definition.

Parameters
ProfileType[in] Profile type to set. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid.

◆ testAttr() [1/2]

virtual bool OdIfc4::IfcProfileDef::testAttr ( const char *  explicitAttrName) const
virtual

◆ testAttr() [2/2]

virtual bool OdIfc4::IfcProfileDef::testAttr ( const OdIfc::OdIfcAttribute  explicitAttrDef) const
virtual

◆ type()

virtual OdIfc::OdIfcEntityType OdIfc4::IfcProfileDef::type ( ) const
virtual

◆ unsetAttr() [1/2]

virtual void OdIfc4::IfcProfileDef::unsetAttr ( const char *  explicitAttrName)
virtual

◆ unsetAttr() [2/2]

virtual void OdIfc4::IfcProfileDef::unsetAttr ( const OdIfc::OdIfcAttribute  explicitAttrDef)
virtual

Friends And Related Function Documentation

◆ IfcExternalReferenceRelationship

friend class IfcExternalReferenceRelationship
friend

Definition at line 280 of file Ifc4/IfcProfileDefAutoImpl.h.

◆ IfcProfileProperties

friend class IfcProfileProperties
friend

Definition at line 281 of file Ifc4/IfcProfileDefAutoImpl.h.

Member Data Documentation

◆ m_ProfileName

OdAnsiString OdIfc4::IfcProfileDef::m_ProfileName
protected

Definition at line 277 of file Ifc4/IfcProfileDefAutoImpl.h.

◆ m_ProfileType

OdDAI::Enum OdIfc4::IfcProfileDef::m_ProfileType
protected

Definition at line 276 of file Ifc4/IfcProfileDefAutoImpl.h.


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