Elliptic Curve

Types

A3DCrvEllipseData

Functions

A3DStatus

A3DCrvEllipseGet

A3DStatus

A3DCrvEllipseCreate

Detailed Description

group a3d_crvellipse

Entity type is kA3DTypeCrvEllipse.

Version

2.0

The canonical form is defined with an 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].

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). ../_images/A3DPRCGeometryCrvEllipse.jpg

Note

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

Function Documentation

A3DStatus A3DCrvEllipseGet(const A3DCrvEllipse *pCrv, A3DCrvEllipseData *pData)

Populates the A3DCrvEllipseData structure.

Version

2.0

Return values:
  • A3D_INITIALIZE_NOT_CALLED

  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_ENTITY_NULL

  • A3D_INVALID_ENTITY_TYPE

  • A3D_CRV_CANNOT_ACCESS_CANONICAL

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DCrvEllipseCreate(const A3DCrvEllipseData *pData, A3DCrvEllipse **ppCrv)

Creates an A3DCrvEllipse from A3DCrvEllipseData structure.

Version

2.0

Return values:
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INTERVAL_INCONSISTENT_DATA

  • A3D_SUCCESS

Returns:

A3D_SUCCESS on success, or an error code on failure