# Synopsis

PDX_MSGT gcr_SplineCurve2(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 comparing the first z coefficient of each segment using GDX COPLANAR_TOL. Further, for xy_planar to be TRUE, the other z coefficients must be zero within ZERO_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

The num_of_segs + 1 spline break point values or NULL.

## xyz_coefs

The 3D XYZ ABCD... order coefficient values

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