Synopsis
PDX_MSGT gdx_FaceRemoveSeamCrossing(long option, MDA_PTR gdx_face_ptr, double devtol, long maxits, int fitdeg, int *status, MDA_PTR **gdx_new_face_ptrs, int *num_new_faces)
Purpose
Remove Seam Crossing problem in the given GDX Face.
Description
Given a Face, removes seam crossing problem either by rotating the surface or by closing parm Loops. If the GDX_CLOSE_SEAM_POLE option is specified rotation will not be attempted, only parm Loop closure will be performed. More than one Face may result. If the surface of the input Face is not closed, nothing will be done. 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. 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 Face are deleted. If surf rotation can't remove the seam crossings, then the Loops are closed in parm space by adding boundary curves. Basically, all Loops that touch the surface bounds are combined to make a single outer bound(s). It is possiblem that more than one Face will result. Parm curves are generated to perform the parm space Loop closure. After removing the seam crossing model space curves may still touch the seam(s).
Input
option
GDX_CLOSE_SEAM_POLE
Forcibly close the parm space loops without using rotation.
gdx_face_ptr
Input GDX FACE
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 Face created with rovolved surface
GDX_CLOSED_PARMS
Noseam Face created by closing parm loops
GDX_NO_SEAM_XING
Given Face has 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_new_face_ptrs
List of new Face pointers (Exist only with Face Closure operation)
num_new_faces
Number of new Faces
Return
PDX_NOERR
.fi