Linear Curve

Detailed Description

group a3d_crvline

Entity type is kA3DTypeCrvLine.

Version
2.0

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

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

Note

Scale from A3DMiscCartesianTransformationData must be taken into account in previous evaluation’s algorithms.

Note

Y vector from A3DMiscCartesianTransformationData has no particular meaning in this case and must be ignored.

Function Documentation

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.

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 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.

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