.. _group__a3d__crv:

#############
Curves Module
#############

Creates and accesses entities that represent geometric curves.

Geometric curves (:c:type:`~A3DCrvBase`\ ) are a mandatory part of the topology construct in an :c:type:`~A3DTopoBody`\ entity. Do not confuse an :c:type:`~A3DCrvBase`\ entity with an :c:type:`~A3DRiCurve`\ entity. The latter is a particular representation item that has an :c:type:`~A3DTopoSingleWireBody`\ as its topology entry point.

All curves are defined as described in these steps:


1. Define the canonical form of the whole curve.
2. Define the actual parameterization and the portion of curve (trimming information) (:c:struct:`~A3DParameterizationData`\ ).
3. Define the orientation and scaling of the curve using a Cartesian transformation. The transformation cannot specify mirror or non-uniform scaling transformations (see :c:struct:`~A3DMiscCartesianTransformationData`\ ).

Here are definitions for terms that apply to curves.


- *Curve*\ is a mathematical description for a whole curve.
- *Arc*\ is a portion of a curve corresponding to an interval.

.. rst-class:: kind-group kind-topic

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


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


* :ref:`NURBS Curve <group__a3d__crvnurbs>`
* :ref:`Linear Curve <group__a3d__crvline>`
* :ref:`Circular Curve <group__a3d__crvcircle>`
* :ref:`Elliptic Curve <group__a3d__crvellipse>`
* :ref:`Parabolic Curve <group__a3d__crvparabola>`
* :ref:`Hyperbolic Curve <group__a3d__crvhyperbola>`
* :ref:`Polyline Curve <group__a3d__crvpolyline>`
* :ref:`Composite Curve <group__a3d__crvcomposite>`
* :ref:`Equation Curve <group__a3d__crvequation>`
* :ref:`Transform Curve <group__a3d__crvtransform>`
* :ref:`Curve On Surface <group__a3d__crvonsurf>`
* :ref:`Offset Curve <group__a3d__crvoffset>`
* :ref:`Helix Curve <group__a3d__crvhelix>`
* :ref:`Intersection Curve <group__a3d__crvintersection>`
* :ref:`Blend02Boundary Curve <group__a3d__crvboundary>`

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

   a3d_crvnurbs
   a3d_crvline
   a3d_crvcircle
   a3d_crvellipse
   a3d_crvparabola
   a3d_crvhyperbola
   a3d_crvpolyline
   a3d_crvcomposite
   a3d_crvequation
   a3d_crvtransform
   a3d_crvonsurf
   a3d_crvoffset
   a3d_crvhelix
   a3d_crvintersection
   a3d_crvboundary


