# Synopsis

PDX_MSGT gdx_DataReduceNurbCurve(long option, int gdx_model, MDA_PTR gdx_nc_ptr, double devtol, MDA_PTR *gdx_new_nc_ptr)

# Purpose

Data reduce a GDX NURB Curve, maintaining a specified tolerance.

# Description

This routine takes an input curve and reduces the number of control points to obtain another curve which approximates the original curve to within the specified maximum deviation tolerance. The knots of the output curve are a subset of the original knots. Degree and rationality of the curve are not changed. The curve endpoints remain fixed.

# Input

## option

### GDX_LEAVE_LOCKED

If set, the returned entity will be left locked; in this case it is up to the caller to unlock the entity via mda_UnlockEntity. Note: the entity structure can be accessed via mda_GetLockedAddr.

## gdx_model

The GDX model for entity creation.

## gdx_nc_ptr

The database pointer of the GDX NURB Curve to be reduced.

## devtol

The maximum deviation error.

# Output

## gdx_new_nc_ptr

The database pointer of the reduced curve. MDA_NULL_PTR pointer will be returned if the curve could not be data reduced, subject to the specified deviation tolerance.

# Return

          GDX_NOERR
          GDX_BADDATA
          Low level error return
          .fi