.. _group__a3d__brepdata:

########
BrepData
########

Entity type is :c:enumerator:`~kA3DTypeTopoBrepData`\ .


Orientations
============

Here are some important points about :c:type:`~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.

- 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.

- Co-edge has two flags that describe orientation:
- 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 :c:struct:`~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 :c:struct:`~A3DTopoShellData`\ structure.

sa :c:type:`~A3DTopoBrepData`\ , :c:struct:`~A3DTopoBrepDataData`\ , A3DTopoBrepDataGet, A3DTopoBrepDataCreate


**Returns**


   ``A3D_SUCCESS``\ on success, or an error code on failure


.. rst-class:: kind-group kind-record

.. rubric:: Structures
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:struct:`~A3DTopoBrepDataData`

.. rst-class:: kind-group kind-function

.. rubric:: Functions
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:func:`~A3DTopoBrepDataGet`
* :c:func:`~A3DTopoBrepDataCreate`
* :c:func:`~A3DTopoBrepDataGetFaces`
* :c:func:`~A3DTopoBrepDataGetEdges`
* :c:func:`~A3DTopoFaceGetShellAndOrientation`
* :c:func:`~A3DTopoFaceGetShell`
* :c:func:`~A3DTopoLoopGetFace`

.. toctree::
   :maxdepth: 1
   :hidden:

   ../structures/A3DTopoBrepDataData
   ../functions/A3DTopoBrepDataGet
   ../functions/A3DTopoBrepDataCreate
   ../functions/A3DTopoBrepDataGetFaces
   ../functions/A3DTopoBrepDataGetEdges
   ../functions/A3DTopoFaceGetShellAndOrientation
   ../functions/A3DTopoFaceGetShell
   ../functions/A3DTopoLoopGetFace


