Synopsis
PDX_MSGT gdx_DecompCurveToSimpleSegs(long option, MDA_PTR gdx_db_ptr, double degen_tol, double (**seg_pbnds)[2], char **seg_flags, long *nsegs)
Purpose
Determine cusps, piecewise linear and line segments of curve
Description
This routine finds the parameter bounds defining the following types of segments within a curve: 1. segments defined by cusps 2. segments which are piecewise linear 3. straight line segments This allows a curve to be decomposed into simpler segments. This is particularly helpful when approximating or projecting complex curves which have been composited from simpler pieces.
Input
option
Not used.
gdx_db_ptr
Database pointer of the GDX curve.
degen_tol
Arc length tolerance used to flag degenerate curve segments.
Output
seg_pbnds
Parameter bounds defining the segments. Upon error-free return, there will be at least one segment. Memory is allocated in this routine and must be deallocated by the calling routine.
seg_flags
Flags indicating type of segment: = 0 : general segment. = 1 : piecewise linear segment. = 2 : straight line segment. = 3 : degenerate segment.
nsegs
Number of segments (at least 1 upon error-free return).
Tolerances
MODEL_SPACE_PNT_TOL
COLLINEAR_TOL
TANGENT_TOL
ANGLE_TOL
.fi
Return
GDX_NOERR
Low level error return
.fi