Data Structures

struct  A3DCrvCircleData
 Circle arc structure. More...
 

Functions

A3DStatus A3DCrvCircleCreate (const A3DCrvCircleData *pData, A3DCrvCircle **ppCrv)
 Creates an A3DCrvCircle from A3DCrvCircleData structure. More...
 
A3DStatus A3DCrvCircleGet (const A3DCrvCircle *pCrv, A3DCrvCircleData *pData)
 Populates the A3DCrvCircleData structure. More...
 

Detailed Description

Version
2.0

Entity type is kA3DTypeCrvCircle.

The canonical form is defined with an A3DMiscCartesianTransformationData, its origin being the center of the circle and its vector X being the axis corresponding to zero parameter. The implicit parameterization is an angle expressed as radians in the range [0, 2PI].

A3DParameterizationData lets you specify reparameterization and trim.

Here are parameterization examples:

Example of a circular arc
A3DPRCGeometryCrvCircle.jpg

In the above example, the circular arc is in the XY plane (and therefore has an identity transformation), has radius R, and is restricted to the [ t0 , t1 ] interval.

If m_dCoeffA is 1.0 and m_dCoeffB is 0.0 and if the interval is defined as t0=0 and t1=PI/2, then t0 corresponds to the Cartesian coordinates (R,0,0) and t1 to (0,R,0). These values for the m_dCoeffA and m_dCoeffB co-efficients indicate parameterization is in radians and starts at the X axis.

Note
Radius must be greater than 0.
Warning
Radius as a parameter can be modified by A3DMiscCartesianTransformationData when the transformation defines uniform scaling.

Function Documentation

◆ A3DCrvCircleGet()

A3DStatus A3DCrvCircleGet ( const A3DCrvCircle pCrv,
A3DCrvCircleData pData 
)

Populates the A3DCrvCircleData structure.

Returns
A3D_SUCCESS in case of success or an error code
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

◆ A3DCrvCircleCreate()

A3DStatus A3DCrvCircleCreate ( const A3DCrvCircleData pData,
A3DCrvCircle **  ppCrv 
)

Creates an A3DCrvCircle from A3DCrvCircleData structure.

Version
2.0
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_DATA_STRUCT_NULL
A3D_INTERVAL_INCONSISTENT_DATA
A3D_SUCCESS