
########################
A3DSurfLocalProjectPoint
########################

.. c:function:: A3DStatus A3DSurfLocalProjectPoint(const A3DSurfBase *pSurf, const A3DVector3dData *pPointToProject, const A3DVector2dData *pGuessPoint, A3DBool *pbFindSolution, A3DVector2dData *pSolutionParameter, A3DDouble *pdSolutionDistance)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DSurfLocalProjectPoint(*const* :c:type:`~A3DSurfBase`\ \* **pSurf**\ , *const* :c:struct:`~A3DVector3dData`\ \* **pPointToProject**\ , *const* :c:struct:`~A3DVector2dData`\ \* **pGuessPoint**\ , :c:type:`~A3DBool`\ \* **pbFindSolution**\ , :c:struct:`~A3DVector2dData`\ \* **pSolutionParameter**\ , :c:type:`~A3DDouble`\ \* **pdSolutionDistance**\ )
   
   This function projects a point on a surface with a guess parameter pSolutionParameter and pdSolutionDistance give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface).
   
   pGuessPoint must be contained by the domain of the surface.
   
   **Parameters**
   
   
      **pSurf**\ : The input surface.
   
      **pPointToProject**\ : The input point to project on surface.
   
      **pGuessPoint**\ : The input guess parameters.
   
      **pbFindSolution**\ : Result status.
   
      **pSolutionParameter**\ : parameter solution.
   
      **pdSolutionDistance**\ : spatial distance (optional).
   
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




