Open CASCADE Technology
7.1.0.beta

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, const Standard_Boolean theRestrictLine) 
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, const Standard_Real theTol3D, const Standard_Real theU1Period, const Standard_Real theU2Period, const Standard_Real theV1Period, const Standard_Real theV2Period, const Standard_Real theUfSurf1, const Standard_Real theUlSurf1, const Standard_Real theVfSurf1, const Standard_Real theVlSurf1, const Standard_Real theUfSurf2, const Standard_Real theUlSurf2, const Standard_Real theVfSurf2, const Standard_Real theVlSurf2) 
Joins all WLines from theSlin to one if it is possible and records the result into theSlin again. Lines will be kept to be splitted 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) 
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: {<Uperiod of 1st surface>, <Vperiod of 1st surface>, <Uperiod of 2nd surface>, <Vperiod of 2nd surface>}. 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. This step is done only if theRestrictLine is true.
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: {<Uperiod of 1st surface>, <Vperiod of 1st surface>, <Uperiod of 2nd surface>, <Vperiod of 2nd surface>}.

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 splitted 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.