Circular Curve
Types
Functions
Detailed Description
- group a3d_crvcircle
Entity type is kA3DTypeCrvCircle.
- Version
2.0
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:
To specify the interval in radians, set
m_dCoeffA
to 1.0 andm_dCoeffB
to 0.0. These parameter values specify an identity conversion.To specify the interval in degrees, set
m_dCoeffA
to PI/180 andm_dCoeffB
to 0.0.m_dCoeffA
is the ratio of radians to degrees.
Example of a circular arc
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 andm_dCoeffB
is 0.0 and if the interval is defined ast0=0
andt1=PI/2
, thent0
corresponds to the Cartesian coordinates (R,0,0) andt1
to (0,R,0). These values for them_dCoeffA
andm_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
-
A3DStatus A3DCrvCircleGet(const A3DCrvCircle *pCrv, A3DCrvCircleData *pData)
Populates the A3DCrvCircleData structure.
- 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 A3DCrvCircleCreate(const A3DCrvCircleData *pData, A3DCrvCircle **ppCrv)
Creates an A3DCrvCircle from A3DCrvCircleData 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