.. _group__a3d__crvparabola:

###############
Parabolic Curve
###############


   2.0


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

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

The :c:struct:`~A3DParameterizationData`\ struct specified by the :c:member:`A3DCrvParabolaData::m_sParam <A3DCrvParabolaData.m_sParam>`\ member specifies reparameterization and trim for the curve.


   In version 2.1 and earlier, values for parameterization named in the :c:member:`A3DCrvParabolaData::m_cParamType <A3DCrvParabolaData.m_cParamType>`\ member are inverted compared to the corresponding values in the\ `*PRC Format Specification* <https://docs.techsoft3d.com/exchange/latest/SC2N570-PRC-WD.pdf>`__\ .



   2.3


When :c:member:`A3DCrvParabolaData::m_cParamType <A3DCrvParabolaData.m_cParamType>`\ is set to 1, X value must be taken as **param2/sqrt(16\*focus2+param2)**\ , and Y as corresponding value **2 \* :c:member:`A3DCrvParabolaData::m_dFocal <A3DCrvParabolaData.m_dFocal>` \* sqrt( fabs(X) / :c:member:`A3DCrvParabolaData::m_dFocal <A3DCrvParabolaData.m_dFocal>` )**\ .

:c:struct:`~A3DParameterizationData`\ allows for reparameterization and trim.

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

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

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


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


* :c:func:`~A3DCrvParabolaGet`
* :c:func:`~A3DCrvParabolaCreate`

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

   ../structures/A3DCrvParabolaData
   ../functions/A3DCrvParabolaGet
   ../functions/A3DCrvParabolaCreate


