Synopsis
PDX_MSGT gdx_SolidRemoveSeamCrossing(long option, MDA_PTR gdx_solid_ptr, double devtol, long maxits, int fitdeg, int *status)
Purpose
Removes Seam Crossings in a given GDX Solid.
Description
Given a Solid, Removes seam crossings either by rotating the surface by closing parm loops. By setting the option, could skip the surface rotation step. It is required that the model curves of each loop should be continuous, and the parm curves of each loop should be continuous except those ending points lying on the seam or pole of the surface. All parm curves should agree with model curves. Program loops through each face and checks if seam crossing can be avoided by just rotating the surface first. If surf rotation can't solve seam crossing problem, then closes all parm loops and creates new faces. If there are new faces then it creates a new shell and replaces the old shell in all parent entities. Generates all missing model curves and vertices to provide GOOD GDX data.
Input
option
GDX_CLOSE_SEAM_POLE
Forcibly close the parm space loops without using rotation.
GDX_KEEP_DEGEN_LOOPS
Keep all degenerate loops.
gdx_solid_ptr
Solid with possible seam crossings
devtol
Sampled points on the model space curve, M(t), should not deviate from the surface or from the image under S(u,v) of P(s) more than this value. 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.
Output
status
GDX_ROTATED_SURFACE
Removed seam crossings by rovolving surfaces
GDX_CLOSED_PARMS
Removed seam crossings by closing parm loops
GDX_NO_SEAM_XING
Given Solid with no seam crossing problem
GDX_ERROR_DETECTING_SEAM
An error occurred while detecting the seam. Unknown whether there is a seam crossing or not
GDX_REGENERATED_LOOP_FROM_SURF_BOUND
All loop(s) of face were degenerate and removed, generated new loop from natural boundary of surface, if this occurs for single shell/face in solid GDX_DEGEN_FACE error is returned
gdx_solid_ptr
solid without seam crossings
Return
PDX_NOERR
.fi