.. _group__a3d__crvoffset:

############
Offset Curve
############


   2.0


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

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

You can use an existing offset curve entity as the base curve used to create a new offset curve. That is, you can specify


   :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:`A3DCrvOffsetData::m_pBasisCrv <A3DCrvOffsetData.m_pBasisCrv>`\ .



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


**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:`~A3DCrvOffsetData`

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

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


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


* :c:func:`~A3DCrvOffsetGet`
* :c:func:`~A3DCrvOffsetCreate`

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

   ../structures/A3DCrvOffsetData
   ../functions/A3DCrvOffsetGet
   ../functions/A3DCrvOffsetCreate


