.. _group__a3d__geometry__module:

###############
Geometry Module
###############

Creates and accesses entities that represent curves and surfaces.

This module describes the functions and structures for parsing and creating geometric entities, essentially curves and surfaces. It also includes means addressing issues specific to geometric entities, such as interval definition, axis definition, and parameterization.

Generally, most curve and surface data structures contain canonical, parameterization, and transformation settings:


- A canonical form is the simplest parametric equations to define a curve or surface. The term *canonical*\ means commonly known standards for parametrically representing geometric information, in conjunction with an underyling mathematical equation in the form **P(t)**\ for a curve or **P(u,v)**\ for a surface. For instance, a line is defined with an origin **O**\ and a direction **v**\ , corresponding to the equation **P(t) = O + t.v**\ Each curve and surface has an implicit parameterization that corresponds to the object's canonical form. This implicit parameterization includes units and range. For example, the implicit parameterization of a circle has radians as its units and has the range [0,2PI]. :ref:`Geometry Type Declarations <group__a3d__geometry__types>`\ introduces canonical forms for curves and surfaces. The\ `*PRC Format Specification* <https://docs.techsoft3d.com/exchange/latest/SC2N570-PRC-WD.pdf>`__\ provides a full description of all canonical forms and their associated equations.
- Parameterization settings for a curve or surface translates from the implicit parameterization of the canonical form to the actual parameterization of the geometric entity.The parameterization settings include reparameterization coefficients and a range. The reparameterization coefficients converts from the units and range of the canonical form to the units and range of the final representation (the *actual* \ *parameterization*\ ). The range specifies the portion of the canonical form to use, expressed in the units of the actual parameterization. The reparameterization coefficients specify the offset and scaling between the units of the canonical form and the units of the actual parameterization. :ref:`Parameterization for Curve and Surface Geometries <group__a3d__parameterization>`\ describes range definitions and parameterization settings.
- A transformation setting denotes the actual placement of the geometric entity in 3D space. :ref:`Transformations Module <group__a3d__misc__trsf>`\ describes transformation settings.

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

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


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


* :ref:`Common Structures for Geometric Entities <group__a3d__geomtools__module>`
* :ref:`Curves Module <group__a3d__crv>`
* :ref:`Surfaces Module <group__a3d__srf>`

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

   a3d_geomtools_module
   a3d_crv
   a3d_srf


