Synopsis
PDX_MSGT gdx_FaceSplitClosedSurf(long option, MDA_PTR gdx_face_ptr, int num_req_splits, double devtol, long maxits, int fitdeg, int *num_split_faces, MDA_PTR **gdx_split_face_ptrs)
Purpose
Split the surface referenced by the face.
Description
Split the surface if it is closed or has poles (see options). If the surface is an analytical surface (cone, cylinder, sphere, or torus) the resulting faces will 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_FaceSplitClosedSurf 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.
If the face is in a solid or shell, the shell will be updated with the correct faces. The face pointers are returned so that the calling function knows which faces are new. If the input face is independent, it will get deleted.
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.
gdx_face_ptr
The database pointer for the GDX face entity
num_req_splits
Number of requested splits = 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
Devation tolerance used during parm generation.
maxits
Maximum iterations to use while generating parm curves
fitdeg
Degree of curves to use to generate parm curves
Output
num_split_faces
Number of faces returned in gdx_split_face_ptrs
gdx_split_face_ptrs
Array of GDX faces that were created.
Tolerances
MODEL_SPACE_PNT_TOL
PARM_SPACE_PNT_TOL
ANGLE_TOL
ZERO_TOL
.fi
Return
GDX_NOERR
GDX_INVALIDMODEL
Low level error return
.fi