Synopsis
PDX_MSGT gdx_SolidSplitClosedSurfs(long option, int num_req_splits, double devtol, long maxits, int fitdeg, MDA_PTR gdx_solid_ptr, PDX_BOOL *splits)
Purpose
Split the closed surfaces of a Solid.
Description
Split the surfaces of each face if it is a closed closed surface or it has poles (see options). Analytical surfaces (cone, cylinder, sphere, or torus) the result in faces which contain revolved surfaces. When the option, GDX_SPLIT_BETWEEN_POLES is set, the underlying surface will be split if it has two U or two V poles. If the surface has closure, and the GDX_SPLIT_BETWEEN_POLES is specified, than that surface will not be split in the direction of the closure. For surfaces such as spheres, gdx_SolidSplitClosedSurf must be called twice to split the surface for both closure and poles. The arguments devtol, maxits, fitdeg are required for the generation of missing parm curves.
Input
option
GDX_SPLIT_BETWEEN_POLES
If a surface has 2 U or 2 V poles, split the surface between the poles. When this option is set, surfaces will not be split for closure
GDX_SPLIT_KEEP_ANALYTICAL
If specified, analytical surfaces will be returned in each face, if the input surface is analytical. The resulting face will be closed, but the trimming curves on the surface will be split and multiple faces will be returned.
num_req_splits
Number of requested splits, required for GDX_CLOSURE. = 0, Return split parms for active region, if it does not not touch closure. If active region is closed, split face once. >= 1, Split closed surface num_req_split times.
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