# Synopsis

PDX_MSGT gdx_SolidSplitDiscontSurfs(long option, double angle_split, double devtol, long maxits, int fitdeg, MDA_PTR gdx_solid_ptr, PDX_BOOL *splits)

# Purpose

Split the surfaces of a Solid at discontinuities

# Description

Split the surfaces in the solid depending on the split method specified in the option. The continuity splitting options use gdx_SurfaceGetDiscontinuities to determine where to split the surfaces. The other other splitting options determine the splitting locations accordingly. The arguments devtol, maxits, fitdeg are required for the generation of missing parm curves.

# Input

## option

### GDX_G1_CONTINUITY

Split at G1 discontinuities

### GDX_C1_CONTINUITY

Split at C1 discontinuities

### GDX_G2_CONTINUITY

Split at G2 discontinuities

### GDX_C2_CONTINUITY

Split at C2 discontinuities

## angle_split

Minimum angle of surface discontinuity to split. If the angle between the tangents a the surface discontinuity are greater than angle_split, then the surface will be split. Either the GDX_G1_CONTINUITY or GDX_C1_CONTINUITY options must be specified.

## devtol

The deviation of the model space image of P(s) from the projection of M(t) should not be greater than devtol. This tolerance should be larger than MODEL_SPACE_PNT_TOL, at least by 1 to 2 orders of magnitude.

## maxits

Maximum number of iterations. Iteration will be stopped if this number is exceeded.

## fitdeg

Degree used for fitting. See option GDX_FITDEGMAX above.

## gdx_solid_ptr

The database pointer for the GDX solid entity

# Output

## gdx_solid_ptr

An updated GDX solid with no closed surfaces and parm curves.

## splits

Boolean indicating if surfaces were split

# Tolerances

          MODEL_SPACE_PNT_TOL
          PARM_SPACE_PNT_TOL
          ANGLE_TOL
          ZERO_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          Low level error return
          .fi