Synopsis
PDX_MSGT gdx_SolidNurbsToSplines(long option, int curve_deg, int surf_deg, double tolerance, int maxits, MDA_PTR gdx_solid_ptr)
Purpose
Convert a NURBS based GDX solid to a spline (parametric) based solid.
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 solid should first be converted to a NURBS based solid using the function gdx_SolidToNurbs. 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_SolidApproxNurbs 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
GDX_USEBASEDEG
Use the base surface U and V degree for the degree of the offset surface
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_solid_ptr
The database pointer for the GDX solid entity
Output
gdx_solid_ptr
The database pointer for the GDX solid 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