# NAME

GDX_SPLINE_SURF - Parametric Spline Surface

# GENERAL DESCRIPTION

A GDX Parametric Spline Surface (GDX Spline Surface) represents a grid of parametric polynomial patches. The GDX Spline Surface is parametrically defined using degree, polynomial coefficients, and breakpoints.

# DDF SPECIFICATION

    entity 11:0   GDX_SPLINE_SURF   "Parametric Spline Surface" {

    char
    TYPE;

    count
    U_DEGREE;

    count
    V_DEGREE;

    count
    NUSEGS;

    count
    NVSEGS;

    double
    UBRKPT[NUSEGS+1];

    double
    VBRKPT[NVSEGS+1];

    let
    U_ORDER = U_DEGREE + 1;

    let
    V_ORDER = V_DEGREE + 1;

    struct
    POLY_SURF[NUSEGS][NVSEGS] {

    double
    PATCHES[V_ORDER][U_ORDER][3];

    };

    };

# FIELD DESCRIPTIONS

TYPE

The type of the GDX Spline Surface. The value corresponds to the CTYPE field of the IGES Parametric Spline Surface Entity (114) 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
U_DEGREE

The degree of each polynomial patch in the u direction.

V_DEGREE

The degree of each polynomial patch in the v direction.

NUSEGS

The number of polynomial patches in the u direction.

NVSEGS

The number of polynomial patches in the v direction.

UBRKPT

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

VBRKPT

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

U_ORDER

The order of each polynomial patch in the u direction (= U_DEGREE + 1).

V_ORDER

The order of each polynomial patch in the v direction (= V_DEGREE + 1).

POLY_SURF

Array, dimensioned to [NUSEGS][NVSEGS], of structures containing the coefficients that parametrically define the polynomial patches. The structures are ordered as follows (where I = 0 to (NUSEGS-1) and J = 0 to (NVSEGS-1):

POLY_SURF[I][J]

The structure containing the polynomial coefficients for the (I,J) patch.

PATCHES

Array, dimensioned to [V_ORDER][U_ORDER][3], containing coefficients that parametrically define the polynomial patches. The coefficients are ordered as follows (where II = 0 to U_DEGREE and JJ = 0 to V_DEGREE):

PATCHES[JJ][II][0]

The polynomial coefficients that define X(u,v) for the given patch.

PATCHES[JJ][II][1]

The polynomial coefficients that define Y(u,v) for the given patch.

PATCHES[JJ][II][2]

The polynomial coefficients that define Z(u,v) for the given patch.

For each coordinate of each patch, 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 Surface Entity (Type 114) and can be found in Section 4.13 of The Initial Graphics Exchange Specification (IGES) Version 5.2. Note, however, that the IGES 114 has a constant degree of 3 in both u and v directions while the degree of the GDX Spline Surface is variable in both u and v.

# PARAMETRIC RANGE

The GDX Spline Surface is defined over the following parametric range: UBRKPT[0] <= u <= UBRKPT[NUSEGS]; VBRKPT[0] <= v <= VBRKPT[NVSEGS];

# RESTRICTIONS

The GDX Spline Surface is subject to the following restrictions: 0 < U_DEGREE <= GDX_MAX_DEG 0 < V_DEGREE <= GDX_MAX_DEG NUSEGS >= 1 NVSEGS >= 1