Synopsis

PDX_MSGT gdx_GetNurbSurfContBounds(long option, MDA_PTR db_ptr, double *cont_toler, int cont_deg, long *num_of_bounds, double (**bounds)[2][2])

Purpose

Determine the GDX NURB Surface continuity bounds

Description

Given a GDX NURB Surface, determines the set of surface patch bounds that are continuous to degree cont_deg within cont_toler tolerances. If the surface is continuous everywhere than num_of_bounds will be 1 and the bounds values will be the bounds of the GDX NURB Surface. If the surface contains discontinuities, then num_of_bounds will indicate the number of continuous patches and the bounds values will be the subsegement bounds that are continuous within the original surface bounds. The bound values can be used to extract the continuous patches of the surface (See gdx__ExtractSubNurbSurfUtil).

The memory to contain the bounds is allocated by this function and must be freed by the caller.

Input

option

GDX_GTEST

Perform G continuity test for continuity degree less than 3

db_ptr

The database pointer of the GDX NURB Surface

cont_toler

The continuity tolerances .nf [0] = Model space distance (G0) [1] = Radian angle difference (G1) [2] = Curvature difference (G2) [3] = Normalized derivative distance .fi

cont_deg

The degree of continuity required

Output

num_of_bounds

The number of continuous surface patch bounds

bounds

The set of continuous patch UV bounds values where bounds[0][0] equals the low U bound, bounds[0][1] equals the high U bound, bounds[1][0] equals the low V bound and bounds[1][1] equals the high V bound. This allocated memory must be freed by the caller.

Tolerances

      ZERO_TOL
      NORMAL_MAG_TOL
      MODEL_SPACE_PNT_TOL
      .fi

Return

      GDX_NOERR
      Low level error return
      .fi