# Synopsis

PDX_MSGT gdx_NurbCurveToNurb(long option, MDA_PTR gdx_curve_ptr, double approx_tol, int degree, int max_iters, int *status)

# Purpose

Convert/Approximate nurb curve to specific characteristic nurb curve.

# Description

Convert/Approximate nurb curve to specific characteristic nurb curve passed by option.

If the nurb curve meets the criteria of options, it will not be modified. If an entity passed in is not a nurb, it will not be modified.

This function replaces the converted/approximated curve with mda_ReplaceDbptr(), this means that the database pointer will not be changed.

# Input

## option

### GDX_NURBS_CLAMP

Non clampped nurb curve will be clamped. This option can not be used with GDX_NURBS_MAKE_UNIFORM

### GDX_NURBS_REPARAM

Nurb curve will be reparametized between 0.0 and 1.0. This option can not be used with GDX_NURBS_MAKE_UNIFORM

### GDX_NURBS_MAKE_UNIFORM

Nurb curve will be approximated to uniform knots nurb curve. This option can not be used with GDX_NURBS_CLAMP, GDX_NURBS_REPARAM or GDX_NURBS_MAKE_BEZIER.

### GDX_NURBS_NONRATIONAL

Rational nurb curve will be approximated to non-rational nurb curve. This option can not be used with GDX_KEEPRRAT

### GDX_NURBS_MAKE_BEZIER

Non-bezier nurb curve will be approximated to bezier nurb. This option overides GDX_NURBS_CLAMP and GDX_NURBS_NONRATIONAL options.

### GDX_NURBS_FORCE_DEGREE

Nurb curve will be converted/approximated to the specified degree. This option can not be used with GDX_NURBS_REDUCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE.

### GDX_NURBS_REDUCE_DEGREE

Nurb curve exceed the specified degree will be approximated to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE.

### GDX_NURBS_ELEVATE_DEGREE

Nurb curve degree less than the specified degree will be converted to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE or GDX_NURBS_REDUCE_DEGREE.

### GDX_KEEP_DEGREE_1

When conversion take place, degree 1 will be kept.

### GDX_KEEPRAT

Keep rational when elevating the degree This option can not be used with GDX_NURBS_NONRATIONAL

## gdx_curve_ptr

The database pointer for the GDX nurb curve entity

## approx_tol

The tolerance for approximating the GDX NURB curve, if needed.

## degree

The degree to approximate the GDX NURB curve when GDX NURB are converted with any DEGREE option specified.

## max_iters

The maximum iteration count to test for convergence to the approximation tolerance

# Output

## status

Returns one of the following: GDX_NOT_CONVERTED Meets the criteria, there was no conversion needed. GDX_NOT_NURB Entity is not NURB GDX_CONVERTED NURB curve has been converted to meet the criteria

# Tolerances

          MODEL_SPACE_PNT_TOL
          PARM_SPACE_PNT_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          GDX_CONFLICTING_OPTION
          Low level error return
          .fi