Synopsis
PDX_MSGT gdx_SurfaceGetDiscontinuities(long option, MDA_PTR gdx_surf_ptr, double tolerances[], int *nu, double **uparms, int *nv, double **vparms)
Purpose
Find surface discontinuities
Description
This functions finds discontinuities in a surface and returns the corresponding u and v parameter values.
Input
option
GDX_G1_CONTINUITY
Look for G1 discontinuities; the surface is considered G1 continuous at (u,v) if the corresponding u and v isocurves are G1 continuous there
GDX_C1_CONTINUITY
Look for C1 discontinuities; the surface is considered C1 continuous at (u,v) if the corresponding u and v isocurves are C1 continuous there
GDX_G2_CONTINUITY
Look for G2 discontinuities; the surface is considered G2 continuous at (u,v) if the corresponding u and v isocurves are G2 continuous there
GDX_C2_CONTINUITY
Look for C2 discontinuities; the surface is considered C2 continuous at (u,v) if the corresponding u and v isocurves are C2 continuous there
gdx_surf_ptr
The GDX surface.
tolerances
An array of tolerances to use for the continuity checks: [0]: Model Space Distance Difference. Used for G0 check. [1]: Radian angle difference. Used for G1 check. [2]: First derivative vector magnitude difference. Used for the C1 check. [3]: Curvature difference. Used for G2 check. [4]: Second derivative Vector magnitude difference. Used for C2 check. Any check uses all tolerances before it therefore they must be specified. e.g. C1 check uses tolerances[0], tolerances[1] as well.
Output
nu
Number of u direction discontinuities.
uparms
An array of u parameter values where the surface does not have the desired continuity (NULL pointer is returned if the surface has the desired continuity everywhere in the u direction). Memory is allocated in this function and must be deallocated by the calling routine, using gdx_Free if the calling routine is not part of libgdx.
nv
Number of v direction discontinuities.
vparms
An array of v parameter values where the surface does not have the desired continuity (NULL pointer is returned if the surface has the desired continuity everywhere in the v direction). Memory is allocated in this function and must be deallocated by the calling routine, using gdx_Free if the calling routine is not part of libgdx.
Return
GDX_NOERR
Low level error return
.fi