# 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