Synopsis
PDX_MSGT gdx_CBSRemoveSeamCrossing(long option, MDA_PTR gdx_cbs_ptr, double devtol, long maxits, int fitdeg, int *status, MDA_PTR **gdx_new_cbs_ptrs, int *no_of_new_cbs)
Purpose
Remove Seam Crossing problem in the given CBS.
Description
Given a CBS, removes seam crossing problem either by rotating the surface or by closing parm CECs. If the GDX_CLOSE_SEAM_POLE option is specified rotation will not be attempted, only parm CEC closure will be performed. More than one CBS may result. If the surface of the input CBS is not closed, nothing will be done.
It is required that the model curves of each CEC should be continuous, and the parm curves of each CEC should be continuous except those ending points lying on the seam or pole of the surface. All parm curves should agree with model curves.
Function checks if seam crossing can be avoided by rotating the surface. If so, then surface is rotated and all parm curves in the existing CBS are deleted. If surf rotation can't remove the seam crossings, then the CECs are closed in parm space by adding boundary curves. Basically, all CECs that touch the surface bounds are combined to make a single outer bound(s). It is possiblem that more than one CBS will result. Parm curves are generated to perform the parm space CEC closure. After removing the seam crossing model space curves may still touch the seam(s).
Input
option
GDX_CLOSE_SEAM_POLE
Uses only Loop Closure to remove seam crossing
gdx_cbs_ptr
CBS pointer
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
NoSeam CBS created with rovolved surface
GDX_CLOSED_PARMS
Noseam CBS created by closing parm CECs
GDX_NO_SEAM_XING
Given CBS with no seam crossing problem
gdx_new_cbs_ptrs
List of new CBS pointers (Exist only with CBS Closure operation)
no_of_new_cbs
Number of new CBSs
Return
PDX_NOERR
.fi