.. _group__a3d__crvonsurf:

################
Curve On Surface
################


   2.0


Entity type is :c:enumerator:`~kA3DTypeCrvOnSurf`\ .

For the canonical definition of this curve, see the "SerializeTransformationCurve" section of the\ `*PRC Format Specification* <https://docs.techsoft3d.com/exchange/latest/SC2N570-PRC-WD.pdf>`__\ .


   :c:struct:`~A3DParameterizationData`\ must have :c:member:`A3DParameterizationData::m_dCoeffA <A3DParameterizationData.m_dCoeffA>`\ set to 1, :c:member:`A3DParameterizationData::m_dCoeffB <A3DParameterizationData.m_dCoeffB>`\ set to 0 and an :c:struct:`~A3DIntervalData`\ identical to the one of :c:member:`A3DCrvOnSurfData::m_pUVCurve <A3DCrvOnSurfData.m_pUVCurve>`\ .



   :c:struct:`~A3DMiscCartesianTransformationData`\ should correspond to identity transformation.



   :c:member:`A3DCrvOnSurfData::m_pUVCurve <A3DCrvOnSurfData.m_pUVCurve>`\ must be a curve of type :c:enumerator:`~kA3DTypeCrvLine`\ or :c:enumerator:`~kA3DTypeCrvNurbs`\ .


**Returns**


   ``A3D_SUCCESS``\ on success, or an error code on failure


.. rst-class:: kind-group kind-record

.. rubric:: Structures
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:struct:`~A3DCrvOnSurfData`

.. rst-class:: kind-group kind-function

.. rubric:: Functions
   :class: kind-group-title


.. rst-class:: api-xref-list


* :c:func:`~A3DCrvOnSurfGet`
* :c:func:`~A3DCrvOnSurfCreate`

.. toctree::
   :maxdepth: 1
   :hidden:

   ../structures/A3DCrvOnSurfData
   ../functions/A3DCrvOnSurfGet
   ../functions/A3DCrvOnSurfCreate


