# Synopsis

PDX_MSGT gdx_GetNurbCurveContBounds(long option, MDA_PTR db_ptr, double *cont_toler, int cont_deg, long *num_of_bounds, double (**bounds)[2])

# Purpose

Determine the GDX NURB Curve continuity bounds

# Description

Given a GDX NURB Curve, determines the set of curve segment bounds that are continuous to degree cont_deg within cont_toler tolerances. If the curve is continuous everywhere then num_of_bounds will be 1 and the bounds values will be the bounds of the GDX NURB Curve. If the curve contains discontinuities, then num_of_bounds will indicate the number of continuous segments and the bounds values will be the sub-segment bounds that are continuous within the original curve bounds. The bound values can be used to extract the continuous patches of the curve (See gdx_ExtractSubCurve).

The memory to contain the bounds is allocated by this function and must be freed by the caller. If the calling function is not part of libgdx, a call to gdx_Free must be made to free this memory.

# Input

## option

### GDX_GTEST

Perform G continuity test for continuity degree less than 3

## db_ptr

The database pointer of the GDX NURB Curve

## cont_toler

The continuity tolerances .nf [0] = Model space distance (G0) [1] = Radian angle difference (G1) [2] = Curvature difference (G2) [3] = Normalized derivative distance .fi

## cont_deg

The degree of continuity required

# Output

## num_of_bounds

The number of continuous curve segment bounds

## bounds

The set of continuous segment parameter bounds values where bounds[0] equals the low parameter bound bound, bounds[1] equals the high parameter bound This allocated memory must be freed by the caller. If the caller is not part of libgdx, a call to gdx_Free must be made to free this allocated memory.

# Tolerances

          ZERO_TOL
          NORMAL_MAG_TOL
          MODEL_SPACE_PNT_TOL
          .fi

# Return

          GDX_NOERR
          Low level error return
          .fi