# 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