.. _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


