Synopsis

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

Purpose

Approximate an IGES NURBS curve (126) as an IGES spline curve (112)

Description

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

Input

option

IGES_NOMATRIX

Do not apply entity matrix to data

db_ptr_126

The valid IGES 126 NURBS curve entity database pointer

stack

The IGES entity attribute stack handle

model

The model to create the IGES 112 curve in

tolerance

The conversion approximation tolerance

max_iters

The maximium iterations to allow for convergence to tolerance

Output

db_ptr

The IGES 112 curve entity database pointer

Tolerances

      PNT_PROJ_TOL
      ANGLE_TOL
      ZERO_TOL
      .fi

Return

      IGEO_NOERR
      IGEO_CURVENOTNURBS
      IGEO_NOMEMORY
      Low level error return
      .fi