.. _group__a3d__crvellipse:

##############
Elliptic Curve
##############


   2.0


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

The canonical form is defined with an :c:struct:`~A3DMiscCartesianTransformationData`\ , its origin being the center of the ellipse and its vector X being the axis corresponding to zero parameter and X radius. The implicit parameterization is an angle in radian in the range [0, 2PI].

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


Example of an elliptic arc
==========================

In this example, the ellipse is in the XY plane (and therefore has an identity transformation), with radii **Rx**\ and **Ry**\ and is restricted to the **[ t0 , t1 ]**\ interval. Assuming ``m_dCoeffA``\ is 1.0 and ``m_dCoeffB``\ 0.0 (which indicates a parameterization in radians), then t0=0 and t1=PI/2, t0 corresponds to the Cartesian coordinates (Rx,0,0) and t1 to (0,Ry,0).


   The values of the ``m_dXRadius``\ and ``m_dYRadius``\ members must be greater than 0.



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

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

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


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


* :c:func:`~A3DCrvEllipseGet`
* :c:func:`~A3DCrvEllipseCreate`

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

   ../structures/A3DCrvEllipseData
   ../functions/A3DCrvEllipseGet
   ../functions/A3DCrvEllipseCreate


