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