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