
#################################
A3DSimplifyModelFileWithAnalytics
#################################

.. c:function:: A3DStatus A3DSimplifyModelFileWithAnalytics(A3DAsmModelFile *p, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DSimplifyModelFileWithAnalytics(:c:type:`~A3DAsmModelFile`\ \* **p**\ , :c:type:`~A3DDouble` **dTol**\ , :c:type:`~A3DUns32` **uNbRecognizedType**\ , :c:enum:`~A3DEEntityType`\ \* **pOptRecognizedType**\ )
   
   Function to traverse the entire modelfile and simplify all curves and surfaces to analytics if possible, according to a certain tolerance.
   
   Recognized surface types are::ref:`Conic Surface <group__a3d__srfcone>`\ , :ref:`Cylindrical Surface <group__a3d__srfcylinder>`\ , :ref:`Plane Surface <group__a3d__srfplane>`\ , :ref:`Spherical Surface <group__a3d__srfsphere>`\ , :ref:`Toric Surface <group__a3d__srftorus>`\ Recognized curve types are::ref:`Linear Curve <group__a3d__crvline>`\ , :ref:`Circular Curve <group__a3d__crvcircle>`\ If uNbRecognizedType and pOptRecognizedType are defined, :c:func:`~A3DSimplifyModelFileWithAnalytics`\ recognizes only the given types.
   
   **Parameters**
   
   
      **p**\ : The input modelfile.
   
      **dTol**\ : The tolerance (in millimeters).
   
      **uNbRecognizedType**\ : Size of array pOptRecognizedType.
   
      **pOptRecognizedType**\ : Optional type of surface we want to recognize.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




