Open CASCADE Technology
7.5.0

IntPatch_WLineTool provides set of static methods related to walking lines. More...
#include <IntPatch_WLineTool.hxx>
Static Public Member Functions  
static Handle< IntPatch_WLine >  ComputePurgedWLine (const Handle< IntPatch_WLine > &theWLine, const Handle< Adaptor3d_HSurface > &theS1, const Handle< Adaptor3d_HSurface > &theS2, const Handle< Adaptor3d_TopolTool > &theDom1, const Handle< Adaptor3d_TopolTool > &theDom2) 
I Removes equal points (leave one of equal points) from theWLine and recompute vertex parameters. More...  
static void  JoinWLines (IntPatch_SequenceOfLine &theSlin, IntPatch_SequenceOfPoint &theSPnt, Handle< Adaptor3d_HSurface > theS1, Handle< Adaptor3d_HSurface > theS2, const Standard_Real theTol3D) 
Joins all WLines from theSlin to one if it is possible and records the result into theSlin again. Lines will be kept to be split if: a) they are separated (has no common points); b) resulted line (after joining) go through seamedges or surface boundaries. More...  
static void  ExtendTwoWLines (IntPatch_SequenceOfLine &theSlin, const Handle< Adaptor3d_HSurface > &theS1, const Handle< Adaptor3d_HSurface > &theS2, const Standard_Real theToler3D, const Standard_Real *const theArrPeriods, const Bnd_Box2d &theBoxS1, const Bnd_Box2d &theBoxS2, const NCollection_List< gp_Pnt > &theListOfCriticalPoints) 
Extends every line from theSlin (if it is possible) to be started/finished in strictly determined point (in the place of joint of two lines). As result, some gaps between two lines will vanish. The Walking lines are supposed (algorithm will do nothing for notWalking line) to be computed as a result of intersection. Both theS1 and theS2 must be quadrics. Other cases are not supported. theArrPeriods must be filled as follows (every value must not be negative; if the surface is not periodic the period must be equal to 0.0 strictly): {<Uperiod of 1st surface>, <Vperiod of 1st surface>, <Uperiod of 2nd surface>, <Vperiod of 2nd surface>}. theListOfCriticalPoints must contain 3Dpoints where joining is disabled. More...  
Static Public Attributes  
static const Standard_Real  myMaxConcatAngle 
Max angle to concatenate two WLines to avoid result with C0continuity. More...  
IntPatch_WLineTool provides set of static methods related to walking lines.

static 
I Removes equal points (leave one of equal points) from theWLine and recompute vertex parameters.
II Removes point out of borders in case of non periodic surfaces.
III Removes exceed points using tube criteria: delete 7D point if it lies near to expected lines in 2d and 3d. Each task (2d, 2d, 3d) have its own tolerance and checked separately.
Returns new WLine or null WLine if the number of the points is less than 2.

static 
Extends every line from theSlin (if it is possible) to be started/finished in strictly determined point (in the place of joint of two lines). As result, some gaps between two lines will vanish. The Walking lines are supposed (algorithm will do nothing for notWalking line) to be computed as a result of intersection. Both theS1 and theS2 must be quadrics. Other cases are not supported. theArrPeriods must be filled as follows (every value must not be negative; if the surface is not periodic the period must be equal to 0.0 strictly): {<Uperiod of 1st surface>, <Vperiod of 1st surface>, <Uperiod of 2nd surface>, <Vperiod of 2nd surface>}. theListOfCriticalPoints must contain 3Dpoints where joining is disabled.

static 
Joins all WLines from theSlin to one if it is possible and records the result into theSlin again. Lines will be kept to be split if: a) they are separated (has no common points); b) resulted line (after joining) go through seamedges or surface boundaries.
In addition, if points in theSPnt lies at least in one of the line in theSlin, this point will be deleted.

static 
Max angle to concatenate two WLines to avoid result with C0continuity.