Circular Curve
Types
A3DCrvCircleData |
Functions
A3DStatus |
A3DCrvCircleGet |
A3DStatus |
A3DCrvCircleCreate |
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