# NAME

GDX_COMP_CURVE - Composite Curve

# GENERAL DESCRIPTION

A GDX Composite Curve is an ordered list of GDX Curve entities that form a single curve. Each individual curve entity is considered to be a corresponding segment of the GDX Composite Curve.

# DDF SPECIFICATION

    entity 5:0  GDX_COMP_CURVE   "Composite Curve" {

    char
    CONTINUITY;

    char
    PLANAR;

    char
    XY_PLANAR;

    char
    CLOSED;

    count
    NUM_OF_CURVES;

    ptr
    CURVES[NUM_OF_CURVES]
    reftype = (P_CURVES);

    char
    SENSE[NUM_OF_CURVES];

    int
    TRANS_CODE[NUM_OF_CURVES];

    double
    PARM_RANGE[NUM_OF_CURVES];

    double
    PLANE_NORMAL[3];

    };

# FIELD DESCRIPTIONS

CONTINUITY

A value indicating the minimum degree of continuity of the GDX Composite Curve entity.

-1 = Discontinuous 0 = Point Continuous 1 = Tangent Continuous 2 = Curvature Continuous
PLANAR

Flag indicating whether or not the curve is planar. Note that if the curve is linear it is not considered to be planar as it is contained in an infinite number of different planes.

PDX_TRUE

The curve is planar.

PDX_FALSE

The curve is not planar.

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.

CLOSED

Flag indicating whether or not the curve is closed.

PDX_TRUE

The curve is closed.

PDX_FALSE

The curve is not closed.

NUM_OF_CURVES

The number of GDX curves comprising the GDX Composite Curve.

CURVES

Array containing the database pointers of the GDX curves that comprise the GDX Composite Curve Entity. The allowable GDX entity type/forms consists of the parametrically defined GDX curve entities as defined by the P_CURVES ptrlist variable in gdx.ddf. For reference, these entities are:

GDX_CONIC
GDX_NURB_CURVE
GDX_ARC
GDX_SPLINE_CURVE
GDX_POLYLINE
GDX_COMP_CURVE
GDX_OFFSET_CURVE
GDX_TRIM_CURVE
SENSE

Array of flags indicating whether the sense of the corresponding segment agrees with or opposes that of the corresponding curve defined by the CURVES field. This field is optional. A value of NULL indicates that sense of each segment is to be interpreted as PDX_TRUE.

PDX_TRUE

The sense of the segment agrees with the sense of the defining curve.

PDX_FALSE

The sense of the segment disagrees with the sense of the defining curve.

TRANS_CODE

Array of integer values that indicate the state of transition from the last point of the corresponding segment to the first point of the next segment. The transition for the last segment is set based on its last point and the first point of the first segment. This field is optional and may be set to NULL.

-1 = Discontinuous 0 = Point Continuous 1 = Tangent Continuous 2 = Curvature Continuous
PARM_RANGE

Array of double values that indicate the parametric length of the corresponding segment. The corresponding segment is given a simple linear reparameterization from 0.0 at the first point to the specified value at the last point. This field is optional. A value of NULL indicates that all segments use the parameterization of the corresponding curve.

PLANE_NORMAL

The 3D coefficients of the normal vector to the plane of the curve if the curve is planar. If non-planar, these values should be set to 0.0 and will be ignored.

# PARAMETERIZATION

The parameterization of the GDX Composite Curve is an accumulation of the parametric ranges of the referenced bounded curves. The parameterization is the same as that used for the IGES Composite Curve Entity (Type 102) and can be found in Section 4.4 of The Initial Graphics Exchange Specification (IGES) Version 5.2.

# PARAMETRIC RANGE

The GDX Composite Curve is defined over the following parametric range:

       $ 0 ~<=~ u ~<=~ sum from {k=1} to {n} l sub k $

Where $l sub k$ is the parametric length of the curve underlying the $k sup {th}$ segment and $n$ is the NUM_OF_CURVES.

# RESTRICTIONS

The GDX Composite Curve is subject to the following restrictions: NUM_OF_CURVES > 0