# NAME

GDX_SPLINE_CURVE - Parametric Spline Curve

# GENERAL DESCRIPTION

A GDX Parametric Spline Curve (GDX Spline Curve) represents a sequence of parametric polynomial segments. The GDX Spline Curve is parametrically defined using degree, polynomial coefficients, and breakpoints.

# DDF SPECIFICATION

    entity 3:0  GDX_SPLINE_CURVE   "Parametric Spline Curve" {

    char
    TYPE;

    char
    XY_PLANAR;

    count
    DEGREE;

    count
    NSEGS;

    let
    ORDER = DEGREE + 1;

    double
    T[NSEGS+1];

    double
    XYZ_COEFS[NSEGS][ORDER * 3];

    };

# FIELD DESCRIPTIONS

TYPE

The type of the GDX Spline Curve. The value corresponds to the CTYPE field of the IGES Parametric Spline Curve Entity (112) as defined in Section 4.12 of The Initial Graphics Exchange Specification (IGES) Version 5.2. The currently defined values are repeated below for reference:

1 = Linear 2 = Quadratic 3 = Cubic 4 = Wilson-Fowler 5 = Modified Wilson-Fowler 6 = B Spline
XY_PLANAR

Flag indicating whether or not the curve lies in the Z = 0.0 plane.

PDX_TRUE

The curve lies in the Z = 0.0 plane.

PDX_FALSE

The curve does not lie in the Z = 0.0 plane.

DEGREE

The degree of each polynomial segment.

NSEGS

The number of polynomial segments.

ORDER

The order of each polynomial segment (= DEGREE + 1).

T

The array of increasing values corresponding to the breakpoints that delimit the polynomial segments.

XYZ_COEFS

Array, dimensioned to [NSEGS][ORDER * 3], containing coefficients that parametrically define the polynomial segments. The coefficients are ordered as follows (where I = 0 to NSEGS and J = 0 to DEGREE):

XYZ_COEFS[I][ORDER*0+J]

The polynomial coefficients that define X(u) for the I-th segment.

XYZ_COEFS[I][ORDER*1+J]

The polynomial coefficients that define Y(u) for the I-th segment.

XYZ_COEFS[I][ORDER*2+J]

The polynomial coefficients that define Z(u) for the I-th segment.

For each coordinate of each segment, the coefficients are stored corresponding to increasing powers of the parameter value (see Parameterization section below).

# PARAMETERIZATION

The parameterization is the same as that used for the IGES Parametric Spline Curve Entity (Type 112) and can be found in Section 4.12 of The Initial Graphics Exchange Specification (IGES) Version 5.2. Note, however, that the IGES 112 has a constant degree of 3 while the degree of the GDX Spline Curve is variable.

# PARAMETRIC RANGE

The GDX Spline Curve is defined over the following parametric range: T[0] <= u <= T[NSEGS]

# RESTRICTIONS

The GDX Spline Curve is subject to the following restrictions: 0 < DEGREE <= GDX_MAX_DEG NSEGS >= 1