
###############
A3DCompareFaces
###############

.. c:function:: A3DStatus A3DCompareFaces(A3DCompareInputData *pInput, A3DCompareOutputData *pOutput)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DCompareFaces(:c:struct:`~A3DCompareInputData`\ \* **pInput**\ , :c:struct:`~A3DCompareOutputData`\ \* **pOutput**\ )
   
   Function to compare the faces of two groups of :c:type:`~A3DRiBrepModel`\ .
   
   This function will detect if every points in a face of the first group (referenced as group of the old faces) can be projected to one of the faces of the other group (referenced as group of the new faces) within the given tolerance. This is useful for exemple to understand what has changed in a part between two versions: a hole has been added, an edge has been blended.
   
   **Parameters**
   
   
      **pInput**\ : pointer to a :c:struct:`~A3DCompareInputData`\ that contains input data.
   
      **pOutput**\ : pointer to a :c:struct:`~A3DCompareOutputData`\ that contains returned data. It has to be freed by calling again :c:func:`~A3DCompareFaces`\ with NULL as input structure pointer.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




