# Synopsis

PDX_MSGT gdx_SolidMakeSurfG1Cont(long option, double tolerance, int maxits, int u_degree, int v_degree, MDA_PTR gdx_solid_ptr, PDX_BOOL *smoothed)

# Purpose

Smooth all G1 discontinuous surfaces

# Description

Cycle through the faces of the solid to detect surfaces which have G1 discontinuities. If the surface G1 discontinuous, smooth it by calling the function gdx_MakeNurbSurfG1Cont. The arguments tolerance maxits, u_degree, v_degree are used to convert G1 discontiuous surfaces to NURBS. The smoothing can only be performed for NURBS surfaces. When the surface gets smoothed, the parm curves of the associated face get deleted. For more information on the conversion to NURBS and the smoothing, look at the functions gdx_ConvertSurfaceToNurbSurf and gdx_MakeNurbSurfG1Cont.

# Input

## option

Options (Not Used)

## tolerance

Nurb approximation tolerance

## maxits

Maximum number of iterations to use when converting surfaces to NURBS. Iteration will stop when number is exceeded.

## u_degree

Degree of converted surface in u direction

## v_degree

Degree of converted surface in v direction

## gdx_solid_ptr

GDX Solid which may contain G1 discontinuous surfaces

# Output

## gdx_solid_ptr

An updated GDX solid without G1 discontinuous surfaces

## smoothed

At least one Face of solid had G1 discontinuity smoothed

# Tolerances

          MODEL_SPACE_PNT_TOL
          PARM_SPACE_PNT_TOL
          ANGLE_TOL
          ZERO_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          Low level error return
          .fi