# Synopsis

PDX_MSGT gdx_ConvertNurbToNurbCurve(long option, MDA_PTR gdx_nc_ptr, int model, double tolerance, int degree, int max_iters, MDA_PTR *gdx_new_nc_ptr)

# Purpose

Convert a GDX NURB Curve to another GDX NURB Curve

# Description

Converts a GDX NURB curve entity to another GDX NURB curve entity. The conversion converts the NURBS curve to a lower or higher degree.

By default, when the curve is converted, the new curve is non-rational and all curves are converted. The GDX_KEEP_RAT option can be specified to keep curves rational when the degree is increased. The GDX_RATIONAL_ONLY option can be specified, so that only rational NURBS are converted. Finally, the GDX_DEGREE_1 option can be specified to keep curves that are degree 1.

The tolerance and max_iters values apply to the NURBS curve that is approximated as the new GDX NURB Curve. The tolerance is the measure of how far the lower degree and/or non-rational curve can vary from the original curve. The max_iters is the maximium number of iterations that a span in the original NURBS curve is subdivided for approximating the new NURBS curve. Typically only several iterations are required for convergence to the tolerance, but a discontinuous original NURBS curve may never converge to the required tolerance.

If a conversion error occurs any data created during the conversion is deleted and no GDX NURB Curve is created.

The GDX NURB Curve entity must be a valid GDX definition.

If the GDX NURB Curve is converted to a higher degree and optionally kept rational the conversion is an exact conversion to machine precision. Otherwise, the conversion is an approximation to tolerance.

# Input

## option

### GDX_COMMIT

Commit the GDX NURB Curve to the database

### GDX_KEEPRAT

Keep rational when elevating the degree

### GDX_RATIONAL_ONLY

Convert only rational NURBS

### GDX_KEEP_DEGREE_1

Keep degree 1 curves degree 1

## gdx_nc_ptr

The valid GDX NURB Curve entity database pointer

## model

The model to create the GDX NURB Curve in

## tolerance

The conversion approximation tolerance

## degree

The converted NURBS curve degree

## max_iters

The maximium iterations to allow for convergence to tolerance

# Output

## gdx_new_nc_ptr

The GDX NURB curve entity database pointer or structure pointer

# Tolerances

          MODEL_SPACE_PNT_TOL
          PNT_PROJ_TOL
          ANGLE_TOL
          ZERO_TOL
          .fi

# Return

          GDX_NOERR
          GDX_ENTITY_NOT_NURBS
          GDX_INVALIDMODEL
          Low level error return
          .fi