
############################
A3DMiscReferenceOnTessCreate
############################

.. c:function:: A3DStatus A3DMiscReferenceOnTessCreate(const A3DMiscReferenceOnTessData *pData, A3DMiscReferenceOnTess **ppReferenceOnTess)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DMiscReferenceOnTessCreate(*const* :c:struct:`~A3DMiscReferenceOnTessData`\ * **pData**\ , :c:type:`~A3DMiscReferenceOnTess`\ ** **ppReferenceOnTess**\ )
   
   Creates an :c:type:`~A3DMiscReferenceOnTess` from an :c:struct:`~A3DMiscReferenceOnTessData` structure. 
   
   
   Edge and Vertex references
   ==========================
   
   If ``m_eTopoItemType`` is :c:enumerator:`~kA3DTypeTessEdge`\ , m_uiSize must be *3* and:
   
   
   - ``m_puiAdditionalIndexes``\ [0] is the face index in ``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 :c:enumerator:`~kA3DTypeTessVertex`\ , ``m_uiSize`` must be *4* and
   
   
   - ``m_puiAdditionalIndexes``\ [0] is the face index in ``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
   
   
   **Parameters**
   
   
      **pData**\ : The :c:struct:`~A3DMiscReferenceOnTessData` instance to create reference from 
   
      **ppReferenceOnTess**\ : A pointer to the resulting :c:type:`~A3DMiscReferenceOnTess` entity
   
   
   **Returns**
   
   
      ``A3D_SUCCESS`` on success, or an error code on failure
   
   




