Synopsis
PDX_MSGT gdx_SolidImproveTrim(long option, MDA_PTR gdx_solid_ptr, int *loop_dirs)
Purpose
Improve Loop directions for each Face in a Solid
Description
This function tries to determine if the loop directions are correct. If they are not, the directions can be corrected. Parm curves must exist and the first loop must be the outer loop in all faces to be checked (gdx_SolidGenerateParmCurves & gdx_SolidImproveInOutLoopDir). The Faces are improved by toggling the loop sense to ensure that the driections are correct.
Input
option
GDX_CHECK_ONLY
Check to see if the loops are correct. Do not fix the loops
GDX_IMPROVE_LOOP_DIRECTION
Fix the Loop directions if they are not correct
GDX_IMPROVE_SURF_NORMAL
Reverse the surface normal if it is not correct
gdx_solid_ptr
The valid GDX Face database pointer
Output
gdx_solid_ptr
The improved GDX Face database pointer
loop_dirs
GDX_LOOP_GOOD
Loops directions were good
GDX_LOOP_IMPROVED
Fixed the direction of the loops One or more loops has an open parm curve
GDX_LOOP_WRONG
One or more loops has the wrong direction
GDX_LOOP_FIRST_NOT_OUTER
First loop not outer. Could not check a face.
GDX_LOOP_OPEN_PARM
Bad data. Could have cap loops in first, outer expected.
GDX_LOOP_UNKOWN
Some loop directions could not be determined May be missing parm space curves
Return
GDX_NOERR
Low level error return
.fi