Linear Curve

Types

A3DCrvLineData

Functions

A3DStatus

A3DCrvLineGet

A3DStatus

A3DCrvLineCreate

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