Creates and accesses entities that reference topology entities and that specify globally-defined attributes. More...

Data Structures

struct  A3DMiscReferenceOnTessData
 Structure that identifies the referenced tesselation entity and that specifies globally-defined attributes. More...
 
struct  A3DMiscReferenceOnTopologyData
 Structure that identifies the referenced topology entity and that specifies globally-defined attributes. More...
 

Functions

A3DStatus A3DMiscReferenceOnTessCreate (const A3DMiscReferenceOnTessData *pData, A3DMiscReferenceOnTess **ppReferenceOnTess)
 Creates an A3DMiscReferenceOnTess from an A3DMiscReferenceOnTessData structure. More...
 
A3DStatus A3DMiscReferenceOnTessGet (const A3DMiscReferenceOnTess *pReferenceOnTess, A3DMiscReferenceOnTessData *pData)
 Populates the A3DMiscReferenceOnTessData structure for PolyBrepModel. More...
 
A3DStatus A3DMiscReferenceOnTopologyCreate (const A3DMiscReferenceOnTopologyData *pData, A3DMiscReferenceOnTopology **ppReferenceOnTopoItem)
 Creates an A3DMiscReferenceOnTopology from an A3DMiscReferenceOnTopologyData structure. More...
 
A3DStatus A3DMiscReferenceOnTopologyGet (const A3DMiscReferenceOnTopology *pReferenceOnTopoItem, A3DMiscReferenceOnTopologyData *pData)
 Populates the A3DMiscReferenceOnTopologyData structure. More...
 

Detailed Description

Creates and accesses entities that reference topology entities and that specify globally-defined attributes.

Version
2.0

Entity type is kA3DTypeMiscReferenceOnTopology.

Reference topology entity are retrieved by indexes on father elements.

For a A3DTopoConnex, it needs:

For a A3DTopoShell, it needs:

For a A3DTopoFace, it needs:

  • the A3DTopoFace index on the current A3DTopoBrepData. It is a global index to the "BrepData. In the case of several A3DTopoConnex, it must take into account the number of faces present in the preceding A3DTopoConnex.
    A3DUns32 uiFaceIndex = 0;
    for all pConnex on A3DTopoBrepData
    {
    for all pShell on pConnex
    {
    for all pFace on pShell
    {
    if pFace is wanted
    return uiFaceIndex;
    uiFaceIndex++;
    }
    }
    }

For a A3DTopoEdge or A3DTopoCoEdge, it needs:

For a A3DTopoVertex, it needs:

Function Documentation

◆ A3DMiscReferenceOnTopologyGet()

◆ A3DMiscReferenceOnTessGet()

◆ A3DMiscReferenceOnTessCreate()

A3DStatus A3DMiscReferenceOnTessCreate ( const A3DMiscReferenceOnTessData pData,
A3DMiscReferenceOnTess **  ppReferenceOnTess 
)

Creates an A3DMiscReferenceOnTess from an A3DMiscReferenceOnTessData structure.

Version
11.0

If m_eTopoItemType is kA3DTypeTessEdge, m_uiSize must be 3 and

  • m_puiAdditionalIndexes[0] is the face index in the m_pPolyBrepModel
  • m_puiAdditionalIndexes[1] is the loop index in the face
  • m_puiAdditionalIndexes[2] is the edge index in the loop

If m_eTopoItemType is kA3DTypeTessVertex, m_uiSize must be 4 and

  • m_puiAdditionalIndexes[0] is the face index in the m_pPolyBrepModel
  • m_puiAdditionalIndexes[1] is the loop index in the face
  • m_puiAdditionalIndexes[2] is the edge index in the loop
  • m_puiAdditionalIndexes[3] is the vertex index in the edge
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_ENTITYREFERENCE_INCONSISTENT_REFERENCE
A3D_INVALID_ENTITY_NULL
A3D_INVALID_ENTITY_TYPE
A3D_SUCCESS

◆ A3DMiscReferenceOnTopologyCreate()

A3DStatus A3DMiscReferenceOnTopologyCreate ( const A3DMiscReferenceOnTopologyData pData,
A3DMiscReferenceOnTopology **  ppReferenceOnTopoItem 
)

Creates an A3DMiscReferenceOnTopology from an A3DMiscReferenceOnTopologyData structure.

Version
2.0
Returns
A3D_INVALID_ENTITY_NULL if pData->m_pBrepData is NULL
A3D_INVALID_ENTITY_TYPE if pData->m_pBrepData is not a A3DTopoBrepData
Until version 2018 it was possible to pass A3DRiPolyBrepModel for pData->m_pBrepData which was not valid.
Use A3DMiscReferenceOnTessCreate for that case (see CreatePRCCubes sample).
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_ENTITYREFERENCE_INCONSISTENT_REFERENCE
A3D_SUCCESS