Synopsis

PDX_MSGT igeo_Approx128As114(long option, MDA_PTR db_ptr_128, EAM_STACK *stack, int model, double tolerance, int max_iters, MDA_PTR *db_ptr)

Purpose

Approximate an IGES NURBS surface (128) to an IGES Spline surface (114)

Description

if the IGES NURBS surface is rational and/or degree in U or V greater than 3 the IGES NURBS surface is converted to an approximation of the IGES NURBS surface as non-rational and U and V order less than 3. The non-rational U and V degree 3 or less NURBS surface is then converted to the IGES 114 surface. By default, the IGES NURBS surface matrix is concatenated with any matrix on the attribute stack and applied to the data. All the original IGES NURBS surface non-pointer DE attributes are applied to the IGES parametric spline surface. If a conversion error occurs any data created during the conversion is deleted and no IGES spline surface is created. The IGES NURBS surface entity must be a valid IGES NURBS surface definition. The conversion is exact to the precision of the input data and to machine precision for a non-rational degree less than 4 IGES NURBS surface, otherwise the conversion is an approximation to tolerance.

Input

option

IGES_NOMATRIX

Do not apply entity matrix to data

db_ptr_128

The valid IGES NURBS surface entity database pointer

stack

The entity attribute stack

model

The model to create the IGES surface in

tolerance

The conversion approximation tolerance Note: The MODEL_SPACE_PNT_TOL should be at least two orders of magnitude less than this tolerance for correct results.

max_iters

The maximium iterations to allow for convergence to tolerance

Output

db_ptr

The IGES 114 surface entity database pointer

Tolerances

      MODEL_SPACE_PNT_TOL
      ANGLE_TOL
      PNT_PROJ_TOL
      ZERO_TOL
      .fi

Return

      IGEO_NOERR
      IGEO_SURFACENOTNURBS
      IGEO_NOMEMORY
      Low level error return
      .fi