Synopsis

PDX_MSGT gdx_CurveGetDiscontinuities(long option, MDA_PTR gdx_curv_ptr, double tolerances[], int *nu, double **uparms)

Purpose

Find curve discontinuities

Description

This functions finds discontinuities in a curve and returns the corresponding u parameter values.

Input

option

GDX_G1_CONTINUITY

Look for G1 discontinuities.

GDX_C1_CONTINUITY

Look for C1 discontinuities.

GDX_G2_CONTINUITY

Look for G2 discontinuities.

GDX_C2_CONTINUITY

Look for C2 discontinuities.

gdx_curv_ptr

The GDX curve.

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 curve does not have the desired continuity (NULL pointer is returned if the curve has the desired continuity everywhere). Memory is allocated in this function and must be de- allocated by the calling routine, using gdx_Free if the calling routine is not part of libgdx.

Return

      GDX_NOERR
      Low level error return
      .fi