Synopsis

PDX_MSGT gdx_FaceRemoveDegenLoops(long option, MDA_PTR gdx_face_ptr, int *removed)

Purpose

Remove edges and loops that are degenerate in the face

Description

First remove all the degenerate edges from each loop. Then check each loop in the face, if it is degenerate, remove it. If all the loops are degenerate, regenerate the loops from the surface of the face.

This function is intended to handle the removal of vertex loops, when created during a conversion to GDX. However, its is more robust than gdx_FaceRemoveDegenEdges, and should be used in most cases. By default, it is required that both the model and parm curves be degenerate to remove the edge. When specifying GDX_MODEL_ONLY option only the model curves need be degenerate.

Input

option

GDX_MODEL_ONLY

Only check for model space degeneracies

gdx_face_ptr

The database pointer for the GDX face entity

Output

removed

GDX_FACE_UNCHANGED

No loops were removed

GDX_FACE_REMOVED_DEGEN_EDGES

At least one degenerate edge was removed

GDX_FACE_REMOVED_DEGEN_LOOPS

At least one degenerate loop was removed

GDX_FACE_GENERATED_LOOP_FROM_SURF_BOUND

All loop(s) of face were degenerate and removed, generated new loop from natural boundary of surface

Tolerances

      MODEL_SPACE_PNT_TOL
      PARM_SPACE_PNT_TOL
      .fi

Return

      GDX_NOERR
      GDX_INVALIDMODEL
      Low level error return
      .fi