# NAME

GDX_RECT_TRIM_SURF - Rectangular Trimmed Surface

# GENERAL DESCRIPTION

A GDX Rectangular Trimmed Surface represents a bounded surface that is obtained by extracting a selected portion, between specified parameters, from the associated base GDX surface entity. It should be noted that the parameter values U0, U1, V0, and V1 are within the parameter range of the referenced SURFACE entity. They are NOT the actual parameter range of the RTS itself, as returned by gdx_GetSurfPBounds. Those bounds are defined from 0 to | SURFACE parm1 - parm0 | (See description below).

# DDF SPECIFICATION

    entity 21:0   GDX_RECT_TRIM_SURF   "Rectangular Trimmed Surface" {

    char
    U_SENSE;

    char
    V_SENSE;

    double
    U0;

    double
    U1;

    double
    V0;

    double
    V1;

    ptr
    SURFACE
    reftype = (P_SURFS);

    };

# FIELD DESCRIPTIONS

U_SENSE

Flag indicating whether the direction corresponding to the u parameter of the GDX Rectangular Trimmed Surface agrees with or opposes the sense of u in the base surface defined by the SURFACE field. For a surface open in the u direction, the sense is redundant (U_SENSE is PDX_TRUE if U1 > U0 and PDX_FALSE if U0 > U1). Note, however, that the U_SENSE is essential for determining the correct portion of the base surface when the underlying surface is closed in the u direction.

PDX_TRUE

The direction corresponding to the u parameter of the GDX Rectangular Trimmed Surface agrees with the sense of u in the base surface.

PDX_FALSE

The direction corresponding to the u parameter of the GDX Rectangular Trimmed Surface disagrees with the sense of u in the base surface.

V_SENSE

Flag indicating whether the direction corresponding to the v parameter of the GDX Rectangular Trimmed Surface agrees with or opposes the sense of v in the base surface defined by the SURFACE field. For a surface open in the v direction, the sense is redundant (V_SENSE is PDX_TRUE if V1 > V0 and PDX_FALSE if V0 > V1). Note, however, that the V_SENSE is essential for determining the correct portion of the base surface when the underlying surface is closed in the v direction.

PDX_TRUE

The direction corresponding to the v parameter of the GDX Rectangular Trimmed Surface agrees with the sense of v in the base surface.

PDX_FALSE

The direction corresponding to the v parameter of the GDX Rectangular Trimmed Surface disagrees with the sense of v in the base surface.

U0

The u direction starting parameter of the GDX Rectangular Trimmed Surface.

U1

The u direction ending parameter of the GDX Rectangular Trimmed Surface.

V0

The v direction starting parameter of the GDX Rectangular Trimmed Surface.

V1

The v direction ending parameter of the GDX Rectangular Trimmed Surface.

SURFACE

The database pointer of the GDX surface to be trimmed. The allowable GDX entity type/forms consists of the parametrically defined GDX surface entities as defined by the P_SURFS ptrlist variable in gdx.ddf. For reference, these entities are:

GDX_NURB_SURF
GDX_SPLINE_SURF
GDX_RULED_SURF
GDX_REV_SURF
GDX_EXT_SURF
GDX_PLANE
GDX_CYLINDER
GDX_CONE
GDX_SPHERE
GDX_TORUS
GDX_OFFSET_SURF
GDX_RECT_TRIM_SURF

# PARAMETERIZATION

the GDX Rectangular Trimmed Surface inherits its parameterization from the base surface referenced by the GDX Rectangular Trimmed Surface via the SURFACE field.

       TS(s,t) = BS(u,v)
          TS(s,t) = parameterization of the GDX Rectangular Trimmed Surface
          BS(u,v) = parameterization of the base surface referenced by the
                    GDX Rectangular Trimmed Surface via the SURFACE field

where s and u are related as follows (relations between t and v are analogous and, therefore, not shown):

       If U_SENSE = PDX_TRUE:
          s = u - U0
       If U_SENSE = PDX_FALSE:
          s = U0 - u

Note that the U0 and U1 parameters used in the above relations of s and u and the PARAMETRIC RANGE section below are taken from the corresponding fields of the GDX Rectangular Trimmed Surface. These values must first be adjusted if the base surface is closed in the u direction and the trimmed portion of the surface spans the seam. More specifically:

       If base surface is closed in u, U_SENSE = PDX_TRUE, and U1 < U0, then the
       GDX Rectangular Trimmed Surface crosses the seam and:
          U1 = U1 + (parametric range of the base surface in u)
       If base surface is closed in u, U_SENSE = PDX_FALSE, and U0 < U1, then the
       GDX Rectangular Trimmed Surface crosses the seam and:
          U0 = U0 + (parametric range of the base surface in u)

# PARAMETRIC RANGE

The GDX Rectangular Trimmed Surface is defined over the following parametric range: 0 <= s <= |U1 - U0| 0 <= t <= |V1 - V0|

Where U1, U0, V1, and V0 are subject to the rules described above in the PARAMETERIZATION section if the base surface is closed in the corresponding direction and the trimmed portion of the surface spans the seam(s).

# RESTRICTIONS

The GDX Rectangular Trimmed Surface is subject to the following restrictions:

       U0 != U1
       V0 != V1
       U0, U1, V0, and V1 must be within the parametric range of the base
       surface referenced by the GDX Rectangular Trimmed Surface.