
################################
A3DCopyAndAdaptBrepModelAdvanced
################################

.. c:function:: A3DStatus A3DCopyAndAdaptBrepModelAdvanced(const A3DEntity *p, const A3DCopyAndAdaptBrepModelData *psSetting, A3DEntity **const pp, A3DUns32 *puiNbErrors, A3DInt32 **paiErrors)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DCopyAndAdaptBrepModelAdvanced(*const* :c:type:`~A3DEntity`\ \* **p**\ , *const* :c:struct:`~A3DCopyAndAdaptBrepModelData`\ \* **psSetting**\ , :c:type:`~A3DEntity`\ \*\* **pp**\ , :c:type:`~A3DUns32`\ \* **puiNbErrors**\ , :c:type:`~A3DInt32`\ \*\* **paiErrors**\ )
   
   Copy and adapt B-rep parameters.
   
   Same as :c:struct:`~A3DCopyAndAdaptBrepModelData`\ , but return status of each face in error if :c:member:`A3DCopyAndAdaptBrepModelData::m_bContinueOnError <A3DCopyAndAdaptBrepModelData.m_bContinueOnError>`\ is set to true
   
   puiNbErrors return the number of faces in error
   
   paiErrors corresponds to a set of indexes and error codes ``paiErrors[0] = type the topological element paiErrors[1] = error status paiErrors[2] = number of indexes to find element (connex = 1, shell = 2, face = 3, loop = 4, coedge /edge = 5) paiErrors[3] = first index ... paiErrors[2+paiErrors[2]] = last index``
   
   **Parameters**
   
   
      **p**\ : A pointer to the source B-rep entity
   
      **psSetting**\ : The structure that defines which types of B-rep you would like to convert to
   
      **pp**\ : A pointer to the result B-rep entity or entities
   
      **puiNbErrors**\ : Number of elements in error
   
      **paiErrors**\ : Index and error code of each element
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




