Synopsis

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

Purpose

Determine the GDX NURB Curve continuity bounds

Description

Given a GDX NURB Curve, determines the set of curve segment bounds that are continuous to degree cont_deg within cont_toler tolerances. If the curve is continuous everywhere then num_of_bounds will be 1 and the bounds values will be the bounds of the GDX NURB Curve. If the curve contains discontinuities, then num_of_bounds will indicate the number of continuous segments and the bounds values will be the sub-segment bounds that are continuous within the original curve bounds. The bound values can be used to extract the continuous patches of the curve (See gdx_ExtractSubCurve).

The memory to contain the bounds is allocated by this function and must be freed by the caller. If the calling function is not part of libgdx, a call to gdx_Free must be made to free this memory.

Input

option

GDX_GTEST

Perform G continuity test for continuity degree less than 3

db_ptr

The database pointer of the GDX NURB Curve

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 curve segment bounds

bounds

The set of continuous segment parameter bounds values where bounds[0] equals the low parameter bound bound, bounds[1] equals the high parameter bound This allocated memory must be freed by the caller. If the caller is not part of libgdx, a call to gdx_Free must be made to free this allocated memory.

Tolerances

      ZERO_TOL
      NORMAL_MAG_TOL
      MODEL_SPACE_PNT_TOL
      .fi

Return

      GDX_NOERR
      Low level error return
      .fi