CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdIfc4x1::IfcTriangulatedFaceSet Class Reference

#include <IfcTriangulatedFaceSetAutoImpl.h>

Inheritance diagram for OdIfc4x1::IfcTriangulatedFaceSet:
OdIfc4x1::IfcTessellatedFaceSet OdIfc4x1::IfcTessellatedItem OdIfc4x1::IfcGeometricRepresentationItem OdIfc4x1::IfcRepresentationItem OdIfc4x1::OdIfc4x1Instance OdIfc::OdIfcInstance OdIfc4x1::IfcTriangulatedIrregularNetwork

Public Member Functions

void getNormals (OdArray< OdArray< double > > &Normals) const
 
OdDAI::List< OdDAI::Aggr * > & normals ()
 
OdDAI::Boolean getClosed () const
 
void setClosed (OdDAI::Boolean Closed)
 
void getCoordIndex (OdArray< OdArray< int > > &CoordIndex) const
 
OdDAI::List< OdDAI::Aggr * > & coordIndex ()
 
void getPnIndex (OdArray< int > &PnIndex) const
 
OdDAI::ListOfInt & pnIndex ()
 
 IfcTriangulatedFaceSet ()
 
virtual OdResult inFields (OdDAI::OdSpfFilerBase *rdFiler) override
 
virtual OdResult outFields (OdDAI::OdSpfFilerBase *wrFiler) override
 
virtual OdDAI::Entity * getInstanceType () const override
 
virtual OdRxValue getAttr (const char *attrName) const override
 
virtual void unsetAttr (const char *explicitAttrName) override
 
virtual bool testAttr (const char *explicitAttrName) const override
 
virtual bool putAttr (const char *explicitAttrName, const OdRxValue &val) override
 
virtual bool isKindOf (OdIfc::OdIfcEntityType entityType) const override
 
virtual OdIfc::OdIfcEntityType type () const override
 
virtual OdRxValue getAttr (const OdIfc::OdIfcAttribute attrDef) const override
 
virtual void unsetAttr (const OdIfc::OdIfcAttribute explicitAttrDef) override
 
virtual bool testAttr (const OdIfc::OdIfcAttribute explicitAttrDef) const override
 
virtual bool putAttr (const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val) override
 
- Public Member Functions inherited from OdIfc4x1::IfcTessellatedFaceSet
const OdDAIObjectId & getCoordinates () const
 
void setCoordinates (const OdDAIObjectId &Coordinates)
 
void getInvHasColours (OdDAIObjectIds &HasColours) const
 
void getInvHasTextures (OdDAIObjectIds &HasTextures) const
 
- Public Member Functions inherited from OdIfc4x1::IfcRepresentationItem
void getInvLayerAssignment (OdDAIObjectIds &LayerAssignment) const
 
void getInvStyledByItem (OdDAIObjectIds &StyledByItem) const
 
- Public Member Functions inherited from OdIfc4x1::OdIfc4x1Instance
void setInverseCounterParts () override
 
- Public Member Functions inherited from OdIfc::OdIfcInstance
 ODRX_DECLARE_MEMBERS (OdIfcInstance)
 
 OdIfcInstance ()
 
 ~OdIfcInstance ()
 
bool isInstanceOf (OdIfcEntityType entityType) const
 
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
 
virtual OdDbStub * ownerId () const
 

Protected Attributes

OdDAI::List< OdDAI::Aggr * > m_Normals
 
OdDAI::Boolean m_Closed
 
OdDAI::List< OdDAI::Aggr * > m_CoordIndex
 
OdDAI::ListOfInt m_PnIndex
 
- Protected Attributes inherited from OdIfc4x1::IfcTessellatedFaceSet
OdDAIObjectId m_Coordinates
 
- Protected Attributes inherited from OdIfc::OdIfcInstance
voidm_resPtr
 
IfcOpResult m_resolved
 

Additional Inherited Members

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

Detailed Description

The IfcTriangulatedFaceSet is a tessellated face set with all faces being bound by triangles. The faces are constructed by implicit polylines defined by three Cartesian points. Depending on the value of the attribute Closed the instance of IfcTriangulatedFaceSet represents: if TRUE, a boundary representation (or B-rep); if FALSE, a face based surface representation.

  • Details - The coordinates of each point are provided by a one-based index into an ordered list of Cartesian points provided by the two-dimensional list CoordIndex, where the first dimension of the two-dimensional list addresses the list of triangular faces; the second dimension of the two-dimensional list provides exactly three indices. Each index points to a Cartesian point being a vertex of the triangle.

Depending on the provision of PnIndex the indices point either directly into the IfcCartesianPointList3D referenced by Coordinates defined at the supertype IfcTessellatedFaceSet, or they point into the PnIndex where the integer values at that position provides the location of the coordinate values within the IfcCartesianPointList3D. The image below shows an example of the handling of point index.

<IMAGE ifctriangulatedfaceset_03>

The image below shows usage of the IfcTriangulatedFaceSet without (as default) and with using the PnIndex.

<IMAGE ifctriangulatedfaceset_01>

Optionally normals can be provided. Only normals per vector are supported allowing for visually curved triangles when the three normals of the corresponding three vertices of a triangle are not co-linear to the normal of the triangular face. If they are identical, normals are omitted.

Normals are provided by the two-dimensional list Normals, where The first dimension of the two-dimensional list addresses the corresponding list of vertex indices of the triangular faces; The second dimension of the two-dimensional list provides exactly three real values to determine the direction of the normal at this vertex of the triangle.

The indices in the CoordIndex point into the list of Normals. The indices of CoordIndex are applied to both points, either directly or via the PnIndex and normals. The image below shows an example of handling normals.

<IMAGE ifctriangulatedfaceset_02>

The image below shows the use of IfcTriangulatedFaceSet without annotation. The diagram of the IfcTriangulatedFaceSet represents the indices and the ordered list into which the indices point. The index starts with 1 (indexed as 1 to N), if the greatest index in CoordIndex in N, then the IfcCartesianPointList has N lists of 3:3 coordinates.

In the example below, the IfcTriangulatedFaceSet is represented by:

CoordIndex:
((1,6,5), (1,2,6), (6,2,7), (7,2,3), (7,8,6), (6,8,5), (5,8,1), (1,8,4), (4,2,1), (2,4,3), (4,8,7), (7,3,4))

IfcCartesianPointList3D:
((0.,0.,0.), (1.,0.,0.), (1.,1.,0.), (0.,1.,0.), (0.,0.,2.), (1.,0.,2.), (1.,1.,2.), (0.,1.,2.))

<IMAGE ifctriangulatedfaceset_example-01>

Definition at line 90 of file Ifc4x1/IfcTriangulatedFaceSetAutoImpl.h.

Constructor & Destructor Documentation

◆ IfcTriangulatedFaceSet()

OdIfc4x1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet ( )

Default constructor for the IfcTriangulatedFaceSet class.

Member Function Documentation

◆ coordIndex()

OdDAI::List< OdDAI::Aggr * > & OdIfc4x1::IfcTriangulatedFaceSet::coordIndex ( )

Returns the value of CoordIndex attribute. This attribute represents two-dimensional list for the indexed-based triangles, where: The first dimension represents the triangles (from 1 to N). The second dimension has three values representing the indices to three vertex points (from 1 to 3).

Returns
Returns the value of CoordIndex attribute.
Remarks
The coordinates of the vertices are provided by the indexed list of SELF\IfcTessellatedFaceSet.Coordinates.CoordList.

◆ getAttr() [1/2]

virtual OdRxValue OdIfc4x1::IfcTriangulatedFaceSet::getAttr ( const char * attrName) const
overridevirtual

Returns an attribute value for the specified attribute name.

Parameters
attrName[in] Name of an attribute to query.
Returns
OdRxValue object that represents a generic variant type value.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ getAttr() [2/2]

virtual OdRxValue OdIfc4x1::IfcTriangulatedFaceSet::getAttr ( const OdIfc::OdIfcAttribute attrDef) const
overridevirtual

Returns an attribute value for the specified attribute definition.

Parameters
attrDef[in] Attribute definition to query.
Returns
OdRxValue object that represents a generic variant type value.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ getClosed()

OdDAI::Boolean OdIfc4x1::IfcTriangulatedFaceSet::getClosed ( ) const

Returns the value of Closed attribute. This attribute indicates whether the IfcTriangulatedFaceSet is a closed shell.

Returns
Returns the value of Closed attribute.

◆ getCoordIndex()

void OdIfc4x1::IfcTriangulatedFaceSet::getCoordIndex ( OdArray< OdArray< int > > & CoordIndex) const

Gets the value of CoordIndex attribute. This attribute represents two-dimensional list for the indexed-based triangles, where: The first dimension represents the triangles (from 1 to N). The second dimension has three values representing the indices to three vertex points (from 1 to 3).

Parameters
CoordIndex[out] Receives the CoordIndex attribute.
Remarks
The coordinates of the vertices are provided by the indexed list of SELF\IfcTessellatedFaceSet.Coordinates.CoordList.

◆ getInstanceType()

virtual OdDAI::Entity * OdIfc4x1::IfcTriangulatedFaceSet::getInstanceType ( ) const
overridevirtual

Returns a type of a class instance.

Returns
Pointer to the <exref target=https://docs.opendesign.com/tkernel_api_cpp/OdDAI__Entity.html>>OdDAI::Entity</exref> type that determines an entity definition within a schema.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ getNormals()

void OdIfc4x1::IfcTriangulatedFaceSet::getNormals ( OdArray< OdArray< double > > & Normals) const

Gets the value of Normals attribute. This attribute represents an ordered list of three directions for normals. It is a two-dimensional list of directions provided by three parameter values. The first dimension corresponds to the vertex indices of the Coordindex. The second dimension has three values: [1] the x-direction, [2] the y-direction and [3] the z-directions.

Parameters
Normals[out] Receives the Normals attribute value.

◆ getPnIndex()

void OdIfc4x1::IfcTriangulatedFaceSet::getPnIndex ( OdArray< int > & PnIndex) const

Gets the value of PnIndex attribute. This attribute represents the list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices within the CoordIndex. If the PnIndex is not provided the indices point directly to the IfcCartesianPointList3D.

Parameters
PnIndex[out] Receives the PnIndex attribute.

◆ inFields()

virtual OdResult OdIfc4x1::IfcTriangulatedFaceSet::inFields ( OdDAI::OdSpfFilerBase * rdFiler)
overridevirtual

Reads object's data from the specified filer.

Parameters
rdFiler[in] Pointer to a filer from which to read the data.
Returns
A value of OdResult type that contains the result of the method execution.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ isKindOf()

virtual bool OdIfc4x1::IfcTriangulatedFaceSet::isKindOf ( OdIfc::OdIfcEntityType entityType) const
overridevirtual

Checks whether the specified instance is the object derived from or belongs to this class.

Parameters
entityType[in] Entity to check.
Returns
true if the specified instance is the object derived from or belongs to this class, false otherwise.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ normals()

OdDAI::List< OdDAI::Aggr * > & OdIfc4x1::IfcTriangulatedFaceSet::normals ( )

Returns the value of Normals attribute. This attribute represents an ordered list of three directions for normals. It is a two-dimensional list of directions provided by three parameter values. The first dimension corresponds to the vertex indices of the Coordindex. The second dimension has three values: [1] the x-direction, [2] the y-direction and [3] the z-directions.

Returns
Returns the value of Normals attribute.

◆ outFields()

virtual OdResult OdIfc4x1::IfcTriangulatedFaceSet::outFields ( OdDAI::OdSpfFilerBase * wrFiler)
overridevirtual

Writes object's data the the specified filer.

Parameters
wrFiler[in] Pointer to a filer to which to write the data.
Returns
A value of OdResult type that contains the result of the method execution.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ pnIndex()

OdDAI::ListOfInt & OdIfc4x1::IfcTriangulatedFaceSet::pnIndex ( )

Returns the value of PnIndex attribute. This attribute represents the list of integers defining the locations in the IfcCartesianPointList3D to obtain the point coordinates for the indices within the CoordIndex. If the PnIndex is not provided the indices point directly to the IfcCartesianPointList3D.

Returns
Returns the value of PnIndex attribute.

◆ putAttr() [1/2]

virtual bool OdIfc4x1::IfcTriangulatedFaceSet::putAttr ( const char * explicitAttrName,
const OdRxValue & val )
overridevirtual

Sets the specified attribute with a given value.

Parameters
explicitAttrName[in] Explicit name of the attribute to set.
val[in] Value to set.
Returns
true if the value is successfully set for the specified attribute, false otherwise.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ putAttr() [2/2]

virtual bool OdIfc4x1::IfcTriangulatedFaceSet::putAttr ( const OdIfc::OdIfcAttribute explicitAttrDef,
const OdRxValue & val )
overridevirtual

Sets the specified attribute with a given value.

Parameters
explicitAttrDef[in] Explicit attribute definition to set.
val[in] Value to set.
Returns
true if the value is successfully set for the specified attribute, false otherwise.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ setClosed()

void OdIfc4x1::IfcTriangulatedFaceSet::setClosed ( OdDAI::Boolean Closed)

Sets the value of Closed attribute. This attribute indicates whether the IfcTriangulatedFaceSet is a closed shell.

Parameters
Closed[in] Closed attribute to set.

◆ testAttr() [1/2]

virtual bool OdIfc4x1::IfcTriangulatedFaceSet::testAttr ( const char * explicitAttrName) const
overridevirtual

Checks whether the specified attribute is set.

Parameters
explicitAttrName[in] Explicit name of the attribute to test.
Returns
true if the specified attribute is set, false otherwise.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ testAttr() [2/2]

virtual bool OdIfc4x1::IfcTriangulatedFaceSet::testAttr ( const OdIfc::OdIfcAttribute explicitAttrDef) const
overridevirtual

Checks whether the specified attribute is set.

Parameters
explicitAttrDef[in] Attribute definition to test.
Returns
true if the specified attribute is set, false otherwise.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ type()

virtual OdIfc::OdIfcEntityType OdIfc4x1::IfcTriangulatedFaceSet::type ( ) const
overridevirtual

Returns the type of this entity.

Returns
A value of the <exref target=https://docs.opendesign.com/tkernel_api_cpp/OdIfc__OdIfcEntityType.html>>OdIfc::OdIfcEntityType</exref> type that represents type of this entity.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ unsetAttr() [1/2]

virtual void OdIfc4x1::IfcTriangulatedFaceSet::unsetAttr ( const char * explicitAttrName)
overridevirtual

Resets a value for the specified attribute.

Parameters
explicitAttrName[in] Explicit name of the attribute to reset.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

◆ unsetAttr() [2/2]

virtual void OdIfc4x1::IfcTriangulatedFaceSet::unsetAttr ( const OdIfc::OdIfcAttribute explicitAttrDef)
overridevirtual

Resets a value for the specified attribute.

Parameters
explicitAttrDef[in] Explicit definition that represents an attribute to reset.

Reimplemented from OdIfc4x1::IfcTessellatedFaceSet.

Reimplemented in OdIfc4x1::IfcTriangulatedIrregularNetwork.

Member Data Documentation

◆ m_Closed

OdDAI::Boolean OdIfc4x1::IfcTriangulatedFaceSet::m_Closed
protected

Definition at line 294 of file Ifc4x1/IfcTriangulatedFaceSetAutoImpl.h.

◆ m_CoordIndex

OdDAI::List<OdDAI::Aggr*> OdIfc4x1::IfcTriangulatedFaceSet::m_CoordIndex
protected

Definition at line 295 of file Ifc4x1/IfcTriangulatedFaceSetAutoImpl.h.

◆ m_Normals

OdDAI::List<OdDAI::Aggr*> OdIfc4x1::IfcTriangulatedFaceSet::m_Normals
protected

Definition at line 292 of file Ifc4x1/IfcTriangulatedFaceSetAutoImpl.h.

◆ m_PnIndex

OdDAI::ListOfInt OdIfc4x1::IfcTriangulatedFaceSet::m_PnIndex
protected

Definition at line 296 of file Ifc4x1/IfcTriangulatedFaceSetAutoImpl.h.


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