Synopsis

PDX_MSGT gdx_ConvertNurbSurfToUnifNurb(long option, MDA_PTR gdx_db_ptr, int model, long method, int udeg, int vdeg, double app_tol, int max_cps, void *gdx_uni_sur)

Purpose

Convert a GDX NURB Surface to a uniform unclamped GDX NURB Surface.

Description

Approximate an arbitrary GDX NURB Surface with a nonrational, unclamped Nurbs surface with uniform(1.0) knot spacing.

Input

option

GDX_COMMIT

The entity creation option. If set, the GDX entity will be commited to the data base.

GDX_KEEPLINEAR

If the input surface is linear (degree 1) in one direction and this option is set, then the approximating surface will be kept degree 1 in that direction (regardless of the values of udeg and vdeg); otherwise, the relevant degree udeg or vdeg will be used.

gdx_db_ptr

The GDX NURB Surface database pointer

model

The model to create the GDX NURB Surface in

method

GDX_UNI_PARAMS

Fit points are taken at equally spaced parameter values. This method approximates both the geometry and parameterization of the original surface. However, the parameterization will only be a rough approximation.

GDX_UNI_PNTS

Equally spaced grid of fit points is used. This method approximates only the geometry of the original surface. Parameterization is roughly uniform.

udeg

The u-degree of the approximating surface( udeg > 1 )

vdeg

The v-degree of the approximating surface( vdeg > 1 )

app_tol

Convergence tolerance. Iteration will cease when the approximating surface is geometrically within app_tol of the input surface (on a discrete set of sampled points).

max_cps

The maximum number of control points to be generated.

Output

gdx_uni_sur

The uniform un-clamped GDX NURB Surface structure pointer or database pointer.

Tolerances

     MODEL_SPACE_PNT_TOL
     PNT_PROJ_TOL
     KNOT_TOL
     ANGLE_TOL
     .fi

Return

      Low level error return
      .fi