Open CASCADE Technology  7.1.0.beta
Static Public Member Functions | Static Public Attributes
IntPatch_WLineTool Class Reference

IntPatch_WLineTool provides set of static methods related to walking lines. More...

#include <IntPatch_WLineTool.hxx>

Static Public Member Functions

static Handle< IntPatch_WLineComputePurgedWLine (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 seam-edges 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 not-Walking 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: {<U-period of 1st surface>, <V-period of 1st surface>, <U-period of 2nd surface>, <V-period of 2nd surface>}. More...
 

Static Public Attributes

static const Standard_Real myMaxConcatAngle
 Max angle to concatenate two WLines to avoid result with C0-continuity. More...
 

Detailed Description

IntPatch_WLineTool provides set of static methods related to walking lines.

Member Function Documentation

static Handle< IntPatch_WLine > IntPatch_WLineTool::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 
)
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 void IntPatch_WLineTool::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 
)
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 not-Walking 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: {<U-period of 1st surface>, <V-period of 1st surface>, <U-period of 2nd surface>, <V-period of 2nd surface>}.

static void IntPatch_WLineTool::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 
)
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 seam-edges or surface boundaries.

In addition, if points in theSPnt lies at least in one of the line in theSlin, this point will be deleted.

Field Documentation

const Standard_Real IntPatch_WLineTool::myMaxConcatAngle
static

Max angle to concatenate two WLines to avoid result with C0-continuity.


The documentation for this class was generated from the following file: