# Synopsis

PDX_MSGT gdx_NurbSurfToNurb(long option, MDA_PTR gdx_surf_ptr, double approx_tol, int degree, int max_iters, int *status)

# Purpose

Convert/Approximate nurb surface to specific characteristic nurb surface.

# Description

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

If the nurb surface 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 surface with mda_ReplaceDbptr(), this means that the database pointer will not be changed.

# Input

## option

### GDX_NURBS_CLAMP

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

### GDX_NURBS_REPARAM

Nurb surface 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 surface will be approximated to uniform knots nurb surface. This option can not be used with GDX_NURBS_CLAMP, GDX_NURBS_REPARAM or GDX_NURBS_MAKE_BEZIER.

### GDX_NURBS_NONRATIONAL

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

### GDX_NURBS_MAKE_BEZIER

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

### GDX_NURBS_FORCE_DEGREE

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

### GDX_NURBS_REDUCE_DEGREE

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

### GDX_NURBS_ELEVATE_DEGREE

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

### GDX_NURBS_ELEVATE_DEGREE_BY_N

Nurb surface degree will be elevated by the specified degree. This option can not be used with GDX_NURBS_FORCE_DEGREE, GDX_NURBS_REDUCE_DEGREE or GDX_NURBS_ELEVATE_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_surf_ptr

The database pointer for the GDX nurb surface entity

## approx_tol

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

## degree

The degree to approximate the GDX NURB surface 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

# Tolerances

          MODEL_SPACE_PNT_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          Low level error return
          .fi