Synopsis

PDX_MSGT gdx_FaceNurbsToSplines(long option, int curve_deg, int surf_deg, double tolerance, int maxits, MDA_PTR gdx_face_ptr)

Purpose

Convert a NURBS based GDX face to spline (parametric) based face.

Description

Cycle through the faces and convert all NURBS data to spline data. This was created because the VDAF specification only supports spline curves and surfaces. The VDAF specification also require parameter space curves. Thus, this function always generates parameter space curves which are then converted to splines.

If non-NURBS data is encountered, GDX_ENTITY_NOT_NURBS message will be returned. Thus, the face should first be converted to a NURBS based face using the function gdx_FaceToNurbs. Rational NURBS data will be approximated as non-rational nurbs. The curve_deg, surf_deg, tolerance and maxits are used during the approximation. The function gdx_FaceApproxNurbs can be used to change the form prior to conversion to splines. For example, the degree of the curves and surfaces can be reduced.

Input

option

Options not used.

curve_deg

Degree used to approximate rational nurbs curves prior to conversion to splines.

surf_deg

Degree used to approximate rational nurbs surfaces prior to conversion to splines.

tolerance

Tolerance used to approximate rational nurbs

maxits

Maximum number of iterations during approximation

gdx_face_ptr

The database pointer for the GDX face entity

Output

gdx_face_ptr

The database pointer for the GDX face entity

Tolerances

      MODEL_SPACE_PNT_TOL
      PARM_SPACE_PNT_TOL
      .fi

Return

      GDX_NOERR
      GDX_INVALIDMODEL
      GDX_INVALIDENTITYTYPE
      GDX_ENTITY_NOT_NURBS
      Low level error return
      .fi