# Synopsis

PDX_MSGT igeo_ApproxSurfAs106(long option, MDA_PTR db_ptr, EAM_STACK *stack, int model, OLM_LIST **newptrs, int mesh[2])

# Purpose

Approximate an IGES surface entity as IGES Copious Data Multiline Entities(106:12).

# Description

This routine will take as input an IGES surface entity and approximate IGES Copious Data Multiline Entitie(s) 106:12(s). If the surface has an associated matrix, it will be applied to the mesh data points by the internals of the approximation subset of the igeo subsystem. Attributes associated with the initial surface will be redirected to associate with each of the newly created multiline entities. The new entities will be created in model and a list, newptrs, will be constructed in order to keep correspondence. NOTE: The correspondence list will be allocated in the event that this function is invoked with @a *newptrs equal to NULL. This list should be deleted when done with olm_DeleteList.

By default, this function will check the environment for a current approximation workspace. If a workspace is found, it will be reset and used for the approximation unless the @d IGEO_NEWAPPROX option is specified which will force the creation of a new workspace instead. If no current workspace is found when this function is called, a new one will automatically be created and freed at termination.

# Input

## option

### IGEO_NEWAPPROX

Force a new workspace for the approximation. This new workspace will be freed upon completion and will not interfere with any workspace which was current upon this function's initiation.

### IGES_NOMATRIX

Do not apply entity matrix to data

## db_ptr

The valid IGES surface entity database pointer

## stack

The entity attribute stack

## model

The model to create the IGES Copious Data multiline in

## newptrs

If this is not set to NULL prior to the initiation of this routine, it will be assumed that a list of MDA_PTRs has already been allocated at newptrs and the new database pointers will be appended to this list.

## mesh

A two element single dimensional array whose elements are representative of u paths and v paths respectively where u paths is the number of U iso-parametric lines to approximate in V and v paths is the number of V iso-parametric lines to approximate in U.

# Output

## newptrs

The address of the pointer for the newptrs correspondence list

# Return

          IGEO_NOERR
          IGEO_ENTITYNOTSURFACE
          Low level error return
          .fi