BrepData

Types

A3DTopoBrepDataData

Functions

A3DStatus

A3DTopoBrepDataGet

A3DStatus

A3DTopoBrepDataCreate

A3DStatus

A3DTopoBrepDataGetFaces

A3DStatus

A3DTopoBrepDataGetEdges

A3DStatus

A3DTopoFaceGetShellAndOrientation

A3DStatus

A3DTopoFaceGetShell

A3DStatus

A3DTopoLoopGetFace

Detailed Description

group a3d_brepdata

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 A3DTopoBrepDataGet(const A3DTopoBrepData *pBrep, A3DTopoBrepDataData *pData)

Populates the A3DTopoBrepDataData structure.

Version

2.0

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTopoBrepDataCreate(const A3DTopoBrepDataData *pData, A3DTopoBrepData **ppBrep)

Creates an A3DTopoBrepData from an A3DTopoBrepDataData structure.

Version

2.0

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTopoBrepDataGetFaces(A3DTopoBrepData const *psBrepData, A3DUns32 *psNbFaces, A3DTopoFace ***papsFaces)

Return all A3DTopoFace from an A3DTopoBrepData.

Version

8.2

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTopoBrepDataGetEdges(A3DTopoBrepData const *psBrepData, A3DUns32 *piNbEdges, A3DTopoEdge ***papsEdges)

Return all A3DTopoEdge from an A3DTopoBrepData.

Version

8.2

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

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.

Version

11.1

Note

Possible values for pusOrientation are as follows:

  • 0: Opposite orientation

  • 1: Same orientation for face and shell

  • 2: Unknown orientation

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTopoFaceGetShell(A3DTopoBrepData const *psBrepData, A3DTopoFace const *psFace, A3DTopoShell const **ppsShell)

Return the owning A3DTopoShell of the A3DTopoFace inside the given A3DTopoBrepData.

Version

8.2

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code

A3DStatus A3DTopoLoopGetFace(A3DTopoBrepData const *psBrepData, A3DTopoLoop const *psLoop, A3DTopoFace const **ppsFace)

Return the owning A3DTopoFace of the A3DTopoLoop inside the given A3DTopoBrepData.

Version

8.2

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS in case of success or an error code