# Synopsis

PDX_MSGT gdx_FaceToPolyShell(long option, MDA_PTR gdx_face_ptr, double approx_tol, int model, MDA_PTR *gdx_ps_ptr, MDA_PTR *gdx_surf_ptr)

# Purpose

Convert (tessellate) GDX Face to GDX Polyshell

# Description

This function tessellates a GDX Face to a GDX Polyshell. The resulting polyshell consists of counter-clockwise polygons (sometimes referred to as facets or tessellants). Each of the polygons will be within approx_tol of the Face.

For the best results, incoming face should not contain multiple outer loops or loops, which are open, wrong oriented, self-intersecting or intersect other loops.

Both model space and parameter space points are returned in the GDX Polyshell. The parameter space points are normalized on the returned surface gdx_surf_ptr, not on the surface of the input face.

To prepare the data for the face to polyshell conversion the following function with this option should be used: gdx_FaceProcessAll with the GDX_PREP_POLYSHELL

The function assumes that any edge that touches a pole or seam, is part of the outer bound of the face.

By default the input GDX Face will be exactly the same as the output GDX Face. If the option GDX_NO_COPY, is used, the UV points that are returned in the tessalation were calculated on the returned GDX Faces re-parameterized surfaces.

# Input

## option

### GDX_NOOPT

Face is converted to a polyshell. Each segment of the polyshell is used in exactly two polygons or is an edge segment. Polyshell has only model space points.

### GDX_NO_COPY

The output Face may have new UV points based on the new re-parameterized surfaces

### GDX_POLYSHELL_FAST

All duplicate points are merged by the tessellation. However, when this option is specified, the duplicate points are not removed.

## gdx_face_ptr

GDX Face data base pointer

## approx_tol

Approximation tolerance

## model

Destination model

# Output

## gdx_ps_ptr

GDX Polyshell data base pointer

## gdx_surf_ptr

GDX Surface data base pointer. Optionally, if the NULL is passed in, the copied surface is not returned.

# Return

          GEA_NOERR
          .fi