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