# Synopsis

PDX_MSGT igeo_Convert128ToContinuous(long option, MDA_PTR db_ptr_128, EAM_STACK *stack, int model, MDA_PTR *db_ptr)

# Purpose

Converts a discontinuous IGES NURBS surface (128) to a continuous NURBS surface (128)

# Description

Converts a discontinuous IGES NURBS surface to a G0 continuous IGES NURBS surface. The conversion converts the discontinuous NURBS surface to a continuous NURBS surface by creating new control points at the discontinuity that are the average of the discontinuous control points and then performing knot removal (to MODEL_SPACE_PNT_TOL) to remove at least one of the orderful internal multiple knots making the NURB surface at least G0 continuous everywhere. If the option IGEO_G1CONT is specified, the NURBS surface is then made G1 continuous everywhere to within the TANGENT_TOL. All the original IGES surface non-pointer DE attributes are applied to the IGES NURBS surface. By default, the IGES NURBS surface matrix is concatenated with the matrix on the attribute stack and applied to the converted data. If a conversion error occurs any data created during the conversion is deleted and no IGES NURBS surface (128) is created. The IGES NURBS surface entity must be a valid IGES definition.

# Input

## option

### IGES_NOMATRIX

Do not apply entity matrix to data

### IGEO_G1CONT

Force G1 discontinuities to continuous

## db_ptr_128

The valid IGES 128 NURBS surface entity database pointer

## stack

The entity attribute stack

## model

The model to create the IGES surface in

# Output

## db_ptr

The IGES 128 surface entity database pointer

# Tolerances

          MODEL_SPACE_PNT_TOL
          TANGENT_TOL
          .fi

# Return

          IGEO_NOERR
          IGEO_SURFACENOTNURBS
          IGEO_NOMEMORY
          Low level error return
          .fi