Data Structures

struct  A3DCrvLineData
 Structure for defining linear curves. More...
 

Functions

A3DStatus A3DCrvLineCreate (const A3DCrvLineData *pData, A3DCrvLine **ppCrv)
 Creates an A3DCrvLine from A3DCrvLineData structure. More...
 
A3DStatus A3DCrvLineGet (const A3DCrvLine *pCrv, A3DCrvLineData *pData)
 Populates the A3DCrvLineData structure. More...
 

Detailed Description

Version
2.0

Entity type is kA3DTypeCrvLine.

The canonical form is defined with the help of A3DMiscCartesianTransformationData, its origin (parameter 0) being the origin of the line and its vector X being the direction of the line. A3DParameterizationData allows for reparameterization and trim.

Example of a line segment
A3DPRCGeometryCrvLine.jpg

In the above illustration, the line is restricted to [ t0 , t1 ] interval on the X vector of its Cartesian transformation.

Note
Scale from A3DMiscCartesianTransformationData must be taken into account in previous evaluation's algorithms.
Y vector from A3DMiscCartesianTransformationData has no particular meaning in this case and must be ignored.

Function Documentation

◆ A3DCrvLineGet()

A3DStatus A3DCrvLineGet ( const A3DCrvLine pCrv,
A3DCrvLineData pData 
)

Populates the A3DCrvLineData structure.

Version
2.0
Note
Y vector from A3DMiscCartesianTransformationData has no particular meaning in this case and must be ignored.
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

◆ A3DCrvLineCreate()

A3DStatus A3DCrvLineCreate ( const A3DCrvLineData pData,
A3DCrvLine **  ppCrv 
)

Creates an A3DCrvLine from A3DCrvLineData structure.

Version
2.0
Note
The Y vector from A3DMiscCartesianTransformationData has no particular meaning in this case, but must be set so that it is normed and perpendicular to the X vector. This is mandatory.
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