Synopsis

PDX_MSGT gcr_SplineCurve(long option, MDA_PTR orig_db_ptr, MDA_COUNT degree, MDA_COUNT num_of_segs, double *break_pnts, double **xyz_coefs, int gdx_model, MDA_PTR *gdx_SC_ptr)

Purpose

Create a GDX Spline Curve.

Description

Given a set of 3D XYZ ABCD... coefficients, the break points, and the degree of Spline curve, creates a GDX Spline curve.

The degree of the curve degree and the number of curve spline segments num_of_segs must be > 0;

The xy_planar field in the GDX entity will be deterined by verifying that the z coefficients are zero within GDX COPLANAR_TOL.

If the break_pnts knot values array is NULL, then the GDX Spline Curve is assumed to be a uniform curve and the GDX Spline Curve uniform break point values are generated.

If the break point value array is specified, the break point sequence must be in increasing order.

The GDX Spline curve is parameterized from the first break point to the last break point.

\fBRules\fR .IP • 3 num_of_segs > 0 .IP • 3 0 < degree <= GDX_MAX_DEG. .IP • 3 number of break_pnts = num_of_segs + 1 (if break_pnts not NULL) .LP

Input

option

GCR_NOVALIDATE

No validation will occur on the input data.

orig_db_ptr

The original entities orig_db_ptr as obtained from the mda_GetOrigDbptr call, or MDA_NULL_PTR

degree

The degree of the Spline curve

num_of_segs

The number of spline segments for the Spline curve.

break_pnts

MDA memory containing the num_of_segs + 1 spline break point values or NULL. Always consumed by this function even on error.

xyz_coefs

MDA memory array containing the 3D XYZ ABCD... order coefficient values xyz_coefs[num_of_segs][(degree + 1) * 3] Always consumed by this function even on error.

gdx_model

The GDX model for entity creation

Output

gdx_SC_ptr

Entity database pointer of the GDX Spline Curve

Tolerances

      GDX COPLANAR_TOL
      .fi

Return

      GCR_NOERR
      GCR_SPLINE_DEGREE
      GCR_SPLINE_NUM_OF_SEGS
      Low level error return
      .fi