Data Structures

struct  A3DTopoBrepDataData
 BrepData structure. More...
 

Functions

A3DStatus A3DTopoBrepDataCreate (const A3DTopoBrepDataData *pData, A3DTopoBrepData **ppBrep)
 Creates an A3DTopoBrepData from an A3DTopoBrepDataData structure. More...
 
A3DStatus A3DTopoBrepDataGet (const A3DTopoBrepData *pBrep, A3DTopoBrepDataData *pData)
 Populates the A3DTopoBrepDataData structure. More...
 
A3DStatus A3DTopoBrepDataGetEdges (A3DTopoBrepData const *psBrepData, A3DUns32 *piNbEdges, A3DTopoEdge ***papsEdges)
 Return all A3DTopoEdge from an A3DTopoBrepData. More...
 
A3DStatus A3DTopoBrepDataGetFaces (A3DTopoBrepData const *psBrepData, A3DUns32 *psNbFaces, A3DTopoFace ***papsFaces)
 Return all A3DTopoFace from an A3DTopoBrepData. More...
 
A3DStatus A3DTopoFaceGetShell (A3DTopoBrepData const *psBrepData, A3DTopoFace const *psFace, A3DTopoShell const **ppsShell)
 Return the owning A3DTopoShell of the A3DTopoFace inside the given A3DTopoBrepData. More...
 
A3DStatus A3DTopoFaceGetShellAndOrientation (A3DTopoBrepData const *psBrepData, A3DTopoFace const *psFace, A3DTopoShell const **ppsShell, A3DUns8 *pusOrientation)
 Return the owning A3DTopoShell of the A3DTopoFace and the orientation between them inside the given A3DTopoBrepData. More...
 
A3DStatus A3DTopoLoopGetFace (A3DTopoBrepData const *psBrepData, A3DTopoLoop const *psLoop, A3DTopoFace const **ppsFace)
 Return the owning A3DTopoFace of the A3DTopoLoop inside the given A3DTopoBrepData. More...
 

Detailed Description

Entity type is kA3DTypeTopoBrepData.

Orientations

Here are some important points about A3DTopoBrepData entity orientation:

  • Edges are implicitly oriented from the Start vertex toward the End vertex.
  • 3D curves referenced by edges are oriented from the Start vertex toward the End vertex.
  • Co-edge has two flags that describe orientation:
    • Orientation with loop, which relates to the corresponding edge.
    • Orientation UV with loop, which relates to the space parametric curve attached to the co-edge, if defined.
  • Loop is oriented regarding Ampere rule (in surface parametric space).
  • Surface is oriented with the shell so that normals point from the material to the void.

Generally, a face containing a hole is defined with two loops having the same orientation. The outside loop is defined by the m_uiOuterLoopIndex member of an A3DTopoFaceData structure, regardless of orientation. To get the real face normal vector, you must consider the surface normal vector and the m_pucOrientationWithShell member of the A3DTopoShellData structure.

sa A3DTopoBrepData, A3DTopoBrepDataData, A3DTopoBrepDataGet, A3DTopoBrepDataCreate

Function Documentation

A3DStatus A3DTopoBrepDataCreate ( const A3DTopoBrepDataData pData,
A3DTopoBrepData **  ppBrep 
)
A3DStatus A3DTopoBrepDataGetFaces ( A3DTopoBrepData const *  psBrepData,
A3DUns32 psNbFaces,
A3DTopoFace ***  papsFaces 
)
A3DStatus A3DTopoBrepDataGetEdges ( A3DTopoBrepData const *  psBrepData,
A3DUns32 piNbEdges,
A3DTopoEdge ***  papsEdges 
)
A3DStatus A3DTopoFaceGetShellAndOrientation ( A3DTopoBrepData const *  psBrepData,
A3DTopoFace const *  psFace,
A3DTopoShell const **  ppsShell,
A3DUns8 pusOrientation 
)

Return the owning A3DTopoShell of the A3DTopoFace and the orientation between them inside the given A3DTopoBrepData.

Note
Possible values for the pusOrientation are as follows:
  • 0: Opposite orientation
  • 1: Same orientation for face and shell
  • 2: Unknown orientation
Version
11.1
Returns
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_SUCCESS
A3DStatus A3DTopoFaceGetShell ( A3DTopoBrepData const *  psBrepData,
A3DTopoFace const *  psFace,
A3DTopoShell const **  ppsShell 
)
A3DStatus A3DTopoLoopGetFace ( A3DTopoBrepData const *  psBrepData,
A3DTopoLoop const *  psLoop,
A3DTopoFace const **  ppsFace 
)