Open CASCADE Technology  7.2.0
Static Public Member Functions

BOPTools_AlgoTools Class Reference

#include <BOPTools_AlgoTools.hxx>

Static Public Member Functions

static Standard_Integer ComputeVV (const TopoDS_Vertex &aV1, const gp_Pnt &aP2, const Standard_Real aTolP2)
 
static Standard_Integer ComputeVV (const TopoDS_Vertex &aV1, const TopoDS_Vertex &aV2, const Standard_Real theFuzz=Precision::Confusion())
 
static void MakeVertex (const BOPCol_ListOfShape &aLV, TopoDS_Vertex &aV)
 
static void MakeEdge (const IntTools_Curve &theCurve, const TopoDS_Vertex &theV1, const Standard_Real theT1, const TopoDS_Vertex &theV2, const Standard_Real theT2, const Standard_Real theTolR3D, TopoDS_Edge &theE)
 
static void MakePCurve (const TopoDS_Edge &theE, const TopoDS_Face &theF1, const TopoDS_Face &theF2, const IntTools_Curve &theCurve, const Standard_Boolean thePC1, const Standard_Boolean thePC2, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Makes 2d curve of the edge <theE> on the faces <theF1> and <theF2>.
<theContext> - storage for caching the geometrical tools. More...
 
static void MakeContainer (const TopAbs_ShapeEnum theType, TopoDS_Shape &theShape)
 
static Standard_Boolean IsHole (const TopoDS_Shape &aW, const TopoDS_Shape &aF)
 
static Standard_Boolean IsSplitToReverse (const TopoDS_Shape &theSplit, const TopoDS_Shape &theShape, Handle< IntTools_Context > &theContext)
 Returns True if the shape theSplit has opposite direction than theShape theContext - cashed geometrical tools. More...
 
static Standard_Boolean IsSplitToReverse (const TopoDS_Face &theSplit, const TopoDS_Face &theShape, Handle< IntTools_Context > &theContext)
 Returns True if normal direction of the face theShape is not the same as for the face theSplit theContext - cashed geometrical tools. More...
 
static Standard_Boolean IsSplitToReverse (const TopoDS_Edge &aE1, const TopoDS_Edge &aE2, Handle< IntTools_Context > &aContext)
 
static Standard_Boolean AreFacesSameDomain (const TopoDS_Face &theF1, const TopoDS_Face &theF2, Handle< IntTools_Context > &theContext, const Standard_Real theFuzz=Precision::Confusion())
 
static Standard_Boolean CheckSameGeom (const TopoDS_Face &theF1, const TopoDS_Face &theF2, Handle< IntTools_Context > &theContext)
 
static Standard_Integer Sense (const TopoDS_Face &theF1, const TopoDS_Face &theF2, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Basing on the normals directions of the faces the method Defines whether to reverse the second face or not.
<theContext> - storage for caching the geometrical tools. More...
 
static Standard_Boolean GetEdgeOff (const TopoDS_Edge &theEdge, const TopoDS_Face &theFace, TopoDS_Edge &theEdgeOff)
 Returns True if the face theFace contains the edge theEdge but with opposite orientation. If the method returns True theEdgeOff is the edge founded. More...
 
static Standard_Boolean GetFaceOff (const TopoDS_Edge &theEdge, const TopoDS_Face &theFace, BOPTools_ListOfCoupleOfShape &theLCEF, TopoDS_Face &theFaceOff, Handle< IntTools_Context > &theContext)
 For the face theFace and its edge theEdge finds the face suitable to produce shell. theLCEF - set of faces to search. All faces from theLCEF must share edge theEdge. More...
 
static Standard_Integer IsInternalFace (const TopoDS_Face &theFace, const TopoDS_Edge &theEdge, const TopoDS_Face &theFace1, const TopoDS_Face &theFace2, Handle< IntTools_Context > &theContext)
 Returns True if the face theFace is inside of the couple of faces theFace1, theFace2. The faces theFace, theFace1, theFace2 must share the edge theEdge Return values: More...
 
static Standard_Integer IsInternalFace (const TopoDS_Face &theFace, const TopoDS_Edge &theEdge, BOPCol_ListOfShape &theLF, Handle< IntTools_Context > &theContext)
 Returns True if the face theFace is inside of the appropriate couple of faces (from the set theLF) . The faces of the set theLF and theFace must share the edge theEdge. More...
 
static Standard_Boolean IsInternalFace (const TopoDS_Face &theFace, const TopoDS_Solid &theSolid, BOPCol_IndexedDataMapOfShapeListOfShape &theMEF, const Standard_Real theTol, Handle< IntTools_Context > &theContext)
 Returns True if the face theFace is inside the solid theSolid. theMEF - Map Edge/Faces for theSolid theTol - value of precision of computation theContext- cahed geometrical tools. More...
 
static Standard_Boolean GetEdgeOnFace (const TopoDS_Edge &theEdge, const TopoDS_Face &theFace, TopoDS_Edge &theEdgeOnF)
 For the face theFace gets the edge theEdgeOnF that is the same as theEdge Returns True if such edge exists Returns False if there is no such edge. More...
 
static TopAbs_State ComputeState (const gp_Pnt &thePoint, const TopoDS_Solid &theSolid, const Standard_Real theTol, Handle< IntTools_Context > &theContext)
 Computes the 3-D state of the point thePoint toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state. More...
 
static TopAbs_State ComputeState (const TopoDS_Vertex &theVertex, const TopoDS_Solid &theSolid, const Standard_Real theTol, Handle< IntTools_Context > &theContext)
 Computes the 3-D state of the vertex theVertex toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state. More...
 
static TopAbs_State ComputeState (const TopoDS_Edge &theEdge, const TopoDS_Solid &theSolid, const Standard_Real theTol, Handle< IntTools_Context > &theContext)
 Computes the 3-D state of the edge theEdge toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state. More...
 
static TopAbs_State ComputeState (const TopoDS_Face &theFace, const TopoDS_Solid &theSolid, const Standard_Real theTol, BOPCol_IndexedMapOfShape &theBounds, Handle< IntTools_Context > &theContext)
 Computes the 3-D state of the face theFace toward solid theSolid. theTol - value of precision of computation theBounds - set of edges of theFace to avoid theContext- cahed geometrical tools Returns 3-D state. More...
 
static TopAbs_State ComputeStateByOnePoint (const TopoDS_Shape &theShape, const TopoDS_Solid &theSolid, const Standard_Real theTol, Handle< IntTools_Context > &theContext)
 Computes the 3-D state of the shape theShape toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state. More...
 
static void MakeConnexityBlock (BOPCol_ListOfShape &theLS, BOPCol_IndexedMapOfShape &theMapAvoid, BOPCol_ListOfShape &theLSCB, const BOPCol_BaseAllocator &theAllocator)
 For the list of faces theLS build block theLSCB in terms of connexity by edges theMapAvoid - set of edges to avoid for the treatment. More...
 
static void MakeConnexityBlocks (const TopoDS_Shape &theS, const TopAbs_ShapeEnum theType1, const TopAbs_ShapeEnum theType2, BOPCol_ListOfShape &theLCB)
 For the compound theS build the blocks theLCB (as list of compounds) in terms of connexity by the shapes of theType. More...
 
static void OrientEdgesOnWire (TopoDS_Shape &theWire)
 Correctly orients edges on the wire. More...
 
static void OrientFacesOnShell (TopoDS_Shape &theShell)
 Correctly orients faces on the shell. More...
 
static void CorrectTolerances (const TopoDS_Shape &theS, const BOPCol_IndexedMapOfShape &theMapToAvoid, const Standard_Real theTolMax=0.0001, const Standard_Boolean theRunParallel=Standard_False)
 Provides valid values of tolerances for the shape <theS> <theTolMax> is max value of the tolerance that can be accepted for correction. If real value of the tolerance will be greater than <aTolMax>, the correction does not perform. More...
 
static void CorrectCurveOnSurface (const TopoDS_Shape &theS, const BOPCol_IndexedMapOfShape &theMapToAvoid, const Standard_Real theTolMax=0.0001, const Standard_Boolean theRunParallel=Standard_False)
 Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidCurveOnSurface. More...
 
static void CorrectPointOnCurve (const TopoDS_Shape &theS, const BOPCol_IndexedMapOfShape &theMapToAvoid, const Standard_Real theTolMax=0.0001, const Standard_Boolean theRunParallel=Standard_False)
 Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidPointOnCurve. More...
 
static void MakeNewVertex (const gp_Pnt &aP1, const Standard_Real aTol, TopoDS_Vertex &aNewVertex)
 Make a vertex using 3D-point <aP1> and 3D-tolerance value <aTol> More...
 
static void MakeNewVertex (const TopoDS_Vertex &aV1, const TopoDS_Vertex &aV2, TopoDS_Vertex &aNewVertex)
 Make a vertex using couple of vertices <aV1, aV2> More...
 
static void MakeNewVertex (const TopoDS_Edge &aE1, const Standard_Real aP1, const TopoDS_Edge &aE2, const Standard_Real aP2, TopoDS_Vertex &aNewVertex)
 Make a vertex in place of intersection between two edges <aE1, aE2> with parameters <aP1, aP2> More...
 
static void MakeNewVertex (const TopoDS_Edge &aE1, const Standard_Real aP1, const TopoDS_Face &aF2, TopoDS_Vertex &aNewVertex)
 Make a vertex in place of intersection between the edge <aE1> with parameter <aP1> and the face <aF2> More...
 
static void PointOnEdge (const TopoDS_Edge &aEdge, const Standard_Real aPrm, gp_Pnt &aP)
 Compute a 3D-point on the edge <aEdge> at parameter <aPrm> More...
 
static void MakeSplitEdge (const TopoDS_Edge &aE1, const TopoDS_Vertex &aV1, const Standard_Real aP1, const TopoDS_Vertex &aV2, const Standard_Real aP2, TopoDS_Edge &aNewEdge)
 Make the edge from base edge <aE1> and two vertices <aV1,aV2> at parameters <aP1,aP2> More...
 
static void MakeSectEdge (const IntTools_Curve &aIC, const TopoDS_Vertex &aV1, const Standard_Real aP1, const TopoDS_Vertex &aV2, const Standard_Real aP2, TopoDS_Edge &aNewEdge)
 Make the edge from 3D-Curve <aIC> and two vertices <aV1,aV2> at parameters <aP1,aP2> More...
 
static void UpdateVertex (const IntTools_Curve &aIC, const Standard_Real aT, const TopoDS_Vertex &aV)
 Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the curve <aIC> More...
 
static void UpdateVertex (const TopoDS_Edge &aE, const Standard_Real aT, const TopoDS_Vertex &aV)
 Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the edge <aE> More...
 
static void UpdateVertex (const TopoDS_Vertex &aVF, const TopoDS_Vertex &aVN)
 Update the tolerance value for vertex <aVN> taking into account the fact that <aVN> should cover tolerance zone of <aVF> More...
 
static void CorrectRange (const TopoDS_Edge &aE1, const TopoDS_Edge &aE2, const IntTools_Range &aSR, IntTools_Range &aNewSR)
 Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances' values of <aE1>, <aE2> More...
 
static void CorrectRange (const TopoDS_Edge &aE, const TopoDS_Face &aF, const IntTools_Range &aSR, IntTools_Range &aNewSR)
 Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances' values of <aE>, <aF> More...
 
static Standard_Boolean IsBlockInOnFace (const IntTools_Range &aShR, const TopoDS_Face &aF, const TopoDS_Edge &aE, Handle< IntTools_Context > &aContext)
 Returns TRUE if PaveBlock <aPB> lays on the face <aF>, i.e the <PB> is IN or ON in 2D of <aF> More...
 
static Standard_Boolean IsMicroEdge (const TopoDS_Edge &theEdge, const Handle< IntTools_Context > &theContext, const Standard_Boolean theCheckSplittable=Standard_True)
 Checks if it is possible to compute shrunk range for the edge <aE> Flag <theCheckSplittable> defines whether to take into account the possiblity to split the edge or not. More...
 
static void CorrectShapeTolerances (const TopoDS_Shape &theS, const BOPCol_IndexedMapOfShape &theMapToAvoid, const Standard_Boolean theRunParallel=Standard_False)
 Corrects tolerance values of the sub-shapes of the shape <theS> if needed. More...
 
static Standard_Integer Dimension (const TopoDS_Shape &theS)
 Retutns dimension of the shape <theS>. More...
 
static Standard_Boolean IsOpenShell (const TopoDS_Shell &theShell)
 Returns true if the shell <theShell> is open. More...
 
static Standard_Boolean IsInvertedSolid (const TopoDS_Solid &theSolid)
 Returns true if the solid <theSolid> is inverted. More...
 
static Standard_Boolean ComputeTolerance (const TopoDS_Face &theFace, const TopoDS_Edge &theEdge, Standard_Real &theMaxDist, Standard_Real &theMaxPar)
 Computes the necessary value of the tolerance for the edge. More...
 

Member Function Documentation

◆ AreFacesSameDomain()

static Standard_Boolean BOPTools_AlgoTools::AreFacesSameDomain ( const TopoDS_Face theF1,
const TopoDS_Face theF2,
Handle< IntTools_Context > &  theContext,
const Standard_Real  theFuzz = Precision::Confusion() 
)
static

◆ CheckSameGeom()

static Standard_Boolean BOPTools_AlgoTools::CheckSameGeom ( const TopoDS_Face theF1,
const TopoDS_Face theF2,
Handle< IntTools_Context > &  theContext 
)
static

◆ ComputeState() [1/4]

static TopAbs_State BOPTools_AlgoTools::ComputeState ( const gp_Pnt thePoint,
const TopoDS_Solid theSolid,
const Standard_Real  theTol,
Handle< IntTools_Context > &  theContext 
)
static

Computes the 3-D state of the point thePoint toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state.

◆ ComputeState() [2/4]

static TopAbs_State BOPTools_AlgoTools::ComputeState ( const TopoDS_Vertex theVertex,
const TopoDS_Solid theSolid,
const Standard_Real  theTol,
Handle< IntTools_Context > &  theContext 
)
static

Computes the 3-D state of the vertex theVertex toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state.

◆ ComputeState() [3/4]

static TopAbs_State BOPTools_AlgoTools::ComputeState ( const TopoDS_Edge theEdge,
const TopoDS_Solid theSolid,
const Standard_Real  theTol,
Handle< IntTools_Context > &  theContext 
)
static

Computes the 3-D state of the edge theEdge toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state.

◆ ComputeState() [4/4]

static TopAbs_State BOPTools_AlgoTools::ComputeState ( const TopoDS_Face theFace,
const TopoDS_Solid theSolid,
const Standard_Real  theTol,
BOPCol_IndexedMapOfShape theBounds,
Handle< IntTools_Context > &  theContext 
)
static

Computes the 3-D state of the face theFace toward solid theSolid. theTol - value of precision of computation theBounds - set of edges of theFace to avoid theContext- cahed geometrical tools Returns 3-D state.

◆ ComputeStateByOnePoint()

static TopAbs_State BOPTools_AlgoTools::ComputeStateByOnePoint ( const TopoDS_Shape theShape,
const TopoDS_Solid theSolid,
const Standard_Real  theTol,
Handle< IntTools_Context > &  theContext 
)
static

Computes the 3-D state of the shape theShape toward solid theSolid. theTol - value of precision of computation theContext- cahed geometrical tools Returns 3-D state.

◆ ComputeTolerance()

static Standard_Boolean BOPTools_AlgoTools::ComputeTolerance ( const TopoDS_Face theFace,
const TopoDS_Edge theEdge,
Standard_Real theMaxDist,
Standard_Real theMaxPar 
)
static

Computes the necessary value of the tolerance for the edge.

◆ ComputeVV() [1/2]

static Standard_Integer BOPTools_AlgoTools::ComputeVV ( const TopoDS_Vertex aV1,
const gp_Pnt aP2,
const Standard_Real  aTolP2 
)
static

◆ ComputeVV() [2/2]

static Standard_Integer BOPTools_AlgoTools::ComputeVV ( const TopoDS_Vertex aV1,
const TopoDS_Vertex aV2,
const Standard_Real  theFuzz = Precision::Confusion() 
)
static

◆ CorrectCurveOnSurface()

static void BOPTools_AlgoTools::CorrectCurveOnSurface ( const TopoDS_Shape theS,
const BOPCol_IndexedMapOfShape theMapToAvoid,
const Standard_Real  theTolMax = 0.0001,
const Standard_Boolean  theRunParallel = Standard_False 
)
static

Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidCurveOnSurface.

◆ CorrectPointOnCurve()

static void BOPTools_AlgoTools::CorrectPointOnCurve ( const TopoDS_Shape theS,
const BOPCol_IndexedMapOfShape theMapToAvoid,
const Standard_Real  theTolMax = 0.0001,
const Standard_Boolean  theRunParallel = Standard_False 
)
static

Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidPointOnCurve.

◆ CorrectRange() [1/2]

static void BOPTools_AlgoTools::CorrectRange ( const TopoDS_Edge aE1,
const TopoDS_Edge aE2,
const IntTools_Range aSR,
IntTools_Range aNewSR 
)
static

Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances' values of <aE1>, <aE2>

◆ CorrectRange() [2/2]

static void BOPTools_AlgoTools::CorrectRange ( const TopoDS_Edge aE,
const TopoDS_Face aF,
const IntTools_Range aSR,
IntTools_Range aNewSR 
)
static

Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances' values of <aE>, <aF>

◆ CorrectShapeTolerances()

static void BOPTools_AlgoTools::CorrectShapeTolerances ( const TopoDS_Shape theS,
const BOPCol_IndexedMapOfShape theMapToAvoid,
const Standard_Boolean  theRunParallel = Standard_False 
)
static

Corrects tolerance values of the sub-shapes of the shape <theS> if needed.

◆ CorrectTolerances()

static void BOPTools_AlgoTools::CorrectTolerances ( const TopoDS_Shape theS,
const BOPCol_IndexedMapOfShape theMapToAvoid,
const Standard_Real  theTolMax = 0.0001,
const Standard_Boolean  theRunParallel = Standard_False 
)
static

Provides valid values of tolerances for the shape <theS> <theTolMax> is max value of the tolerance that can be accepted for correction. If real value of the tolerance will be greater than <aTolMax>, the correction does not perform.

◆ Dimension()

static Standard_Integer BOPTools_AlgoTools::Dimension ( const TopoDS_Shape theS)
static

Retutns dimension of the shape <theS>.

◆ GetEdgeOff()

static Standard_Boolean BOPTools_AlgoTools::GetEdgeOff ( const TopoDS_Edge theEdge,
const TopoDS_Face theFace,
TopoDS_Edge theEdgeOff 
)
static

Returns True if the face theFace contains the edge theEdge but with opposite orientation. If the method returns True theEdgeOff is the edge founded.

◆ GetEdgeOnFace()

static Standard_Boolean BOPTools_AlgoTools::GetEdgeOnFace ( const TopoDS_Edge theEdge,
const TopoDS_Face theFace,
TopoDS_Edge theEdgeOnF 
)
static

For the face theFace gets the edge theEdgeOnF that is the same as theEdge Returns True if such edge exists Returns False if there is no such edge.

◆ GetFaceOff()

static Standard_Boolean BOPTools_AlgoTools::GetFaceOff ( const TopoDS_Edge theEdge,
const TopoDS_Face theFace,
BOPTools_ListOfCoupleOfShape theLCEF,
TopoDS_Face theFaceOff,
Handle< IntTools_Context > &  theContext 
)
static

For the face theFace and its edge theEdge finds the face suitable to produce shell. theLCEF - set of faces to search. All faces from theLCEF must share edge theEdge.

◆ IsBlockInOnFace()

static Standard_Boolean BOPTools_AlgoTools::IsBlockInOnFace ( const IntTools_Range aShR,
const TopoDS_Face aF,
const TopoDS_Edge aE,
Handle< IntTools_Context > &  aContext 
)
static

Returns TRUE if PaveBlock <aPB> lays on the face <aF>, i.e the <PB> is IN or ON in 2D of <aF>

◆ IsHole()

static Standard_Boolean BOPTools_AlgoTools::IsHole ( const TopoDS_Shape aW,
const TopoDS_Shape aF 
)
static

◆ IsInternalFace() [1/3]

static Standard_Integer BOPTools_AlgoTools::IsInternalFace ( const TopoDS_Face theFace,
const TopoDS_Edge theEdge,
const TopoDS_Face theFace1,
const TopoDS_Face theFace2,
Handle< IntTools_Context > &  theContext 
)
static

Returns True if the face theFace is inside of the couple of faces theFace1, theFace2. The faces theFace, theFace1, theFace2 must share the edge theEdge Return values:

  • 0 state is not IN
  • 1 state is IN
  • 2 state can not be found by the method of angles

◆ IsInternalFace() [2/3]

static Standard_Integer BOPTools_AlgoTools::IsInternalFace ( const TopoDS_Face theFace,
const TopoDS_Edge theEdge,
BOPCol_ListOfShape theLF,
Handle< IntTools_Context > &  theContext 
)
static

Returns True if the face theFace is inside of the appropriate couple of faces (from the set theLF) . The faces of the set theLF and theFace must share the edge theEdge.

  • 0 state is not IN
  • 1 state is IN
  • 2 state can not be found by the method of angles

◆ IsInternalFace() [3/3]

static Standard_Boolean BOPTools_AlgoTools::IsInternalFace ( const TopoDS_Face theFace,
const TopoDS_Solid theSolid,
BOPCol_IndexedDataMapOfShapeListOfShape theMEF,
const Standard_Real  theTol,
Handle< IntTools_Context > &  theContext 
)
static

Returns True if the face theFace is inside the solid theSolid. theMEF - Map Edge/Faces for theSolid theTol - value of precision of computation theContext- cahed geometrical tools.

◆ IsInvertedSolid()

static Standard_Boolean BOPTools_AlgoTools::IsInvertedSolid ( const TopoDS_Solid theSolid)
static

Returns true if the solid <theSolid> is inverted.

◆ IsMicroEdge()

static Standard_Boolean BOPTools_AlgoTools::IsMicroEdge ( const TopoDS_Edge theEdge,
const Handle< IntTools_Context > &  theContext,
const Standard_Boolean  theCheckSplittable = Standard_True 
)
static

Checks if it is possible to compute shrunk range for the edge <aE> Flag <theCheckSplittable> defines whether to take into account the possiblity to split the edge or not.

◆ IsOpenShell()

static Standard_Boolean BOPTools_AlgoTools::IsOpenShell ( const TopoDS_Shell theShell)
static

Returns true if the shell <theShell> is open.

◆ IsSplitToReverse() [1/3]

static Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse ( const TopoDS_Shape theSplit,
const TopoDS_Shape theShape,
Handle< IntTools_Context > &  theContext 
)
static

Returns True if the shape theSplit has opposite direction than theShape theContext - cashed geometrical tools.

◆ IsSplitToReverse() [2/3]

static Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse ( const TopoDS_Face theSplit,
const TopoDS_Face theShape,
Handle< IntTools_Context > &  theContext 
)
static

Returns True if normal direction of the face theShape is not the same as for the face theSplit theContext - cashed geometrical tools.

◆ IsSplitToReverse() [3/3]

static Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse ( const TopoDS_Edge aE1,
const TopoDS_Edge aE2,
Handle< IntTools_Context > &  aContext 
)
static

◆ MakeConnexityBlock()

static void BOPTools_AlgoTools::MakeConnexityBlock ( BOPCol_ListOfShape theLS,
BOPCol_IndexedMapOfShape theMapAvoid,
BOPCol_ListOfShape theLSCB,
const BOPCol_BaseAllocator theAllocator 
)
static

For the list of faces theLS build block theLSCB in terms of connexity by edges theMapAvoid - set of edges to avoid for the treatment.

◆ MakeConnexityBlocks()

static void BOPTools_AlgoTools::MakeConnexityBlocks ( const TopoDS_Shape theS,
const TopAbs_ShapeEnum  theType1,
const TopAbs_ShapeEnum  theType2,
BOPCol_ListOfShape theLCB 
)
static

For the compound theS build the blocks theLCB (as list of compounds) in terms of connexity by the shapes of theType.

◆ MakeContainer()

static void BOPTools_AlgoTools::MakeContainer ( const TopAbs_ShapeEnum  theType,
TopoDS_Shape theShape 
)
static

◆ MakeEdge()

static void BOPTools_AlgoTools::MakeEdge ( const IntTools_Curve theCurve,
const TopoDS_Vertex theV1,
const Standard_Real  theT1,
const TopoDS_Vertex theV2,
const Standard_Real  theT2,
const Standard_Real  theTolR3D,
TopoDS_Edge theE 
)
static

◆ MakeNewVertex() [1/4]

static void BOPTools_AlgoTools::MakeNewVertex ( const gp_Pnt aP1,
const Standard_Real  aTol,
TopoDS_Vertex aNewVertex 
)
static

Make a vertex using 3D-point <aP1> and 3D-tolerance value <aTol>

◆ MakeNewVertex() [2/4]

static void BOPTools_AlgoTools::MakeNewVertex ( const TopoDS_Vertex aV1,
const TopoDS_Vertex aV2,
TopoDS_Vertex aNewVertex 
)
static

Make a vertex using couple of vertices <aV1, aV2>

◆ MakeNewVertex() [3/4]

static void BOPTools_AlgoTools::MakeNewVertex ( const TopoDS_Edge aE1,
const Standard_Real  aP1,
const TopoDS_Edge aE2,
const Standard_Real  aP2,
TopoDS_Vertex aNewVertex 
)
static

Make a vertex in place of intersection between two edges <aE1, aE2> with parameters <aP1, aP2>

◆ MakeNewVertex() [4/4]

static void BOPTools_AlgoTools::MakeNewVertex ( const TopoDS_Edge aE1,
const Standard_Real  aP1,
const TopoDS_Face aF2,
TopoDS_Vertex aNewVertex 
)
static

Make a vertex in place of intersection between the edge <aE1> with parameter <aP1> and the face <aF2>

◆ MakePCurve()

static void BOPTools_AlgoTools::MakePCurve ( const TopoDS_Edge theE,
const TopoDS_Face theF1,
const TopoDS_Face theF2,
const IntTools_Curve theCurve,
const Standard_Boolean  thePC1,
const Standard_Boolean  thePC2,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Makes 2d curve of the edge <theE> on the faces <theF1> and <theF2>.
<theContext> - storage for caching the geometrical tools.

◆ MakeSectEdge()

static void BOPTools_AlgoTools::MakeSectEdge ( const IntTools_Curve aIC,
const TopoDS_Vertex aV1,
const Standard_Real  aP1,
const TopoDS_Vertex aV2,
const Standard_Real  aP2,
TopoDS_Edge aNewEdge 
)
static

Make the edge from 3D-Curve <aIC> and two vertices <aV1,aV2> at parameters <aP1,aP2>

◆ MakeSplitEdge()

static void BOPTools_AlgoTools::MakeSplitEdge ( const TopoDS_Edge aE1,
const TopoDS_Vertex aV1,
const Standard_Real  aP1,
const TopoDS_Vertex aV2,
const Standard_Real  aP2,
TopoDS_Edge aNewEdge 
)
static

Make the edge from base edge <aE1> and two vertices <aV1,aV2> at parameters <aP1,aP2>

◆ MakeVertex()

static void BOPTools_AlgoTools::MakeVertex ( const BOPCol_ListOfShape aLV,
TopoDS_Vertex aV 
)
static

◆ OrientEdgesOnWire()

static void BOPTools_AlgoTools::OrientEdgesOnWire ( TopoDS_Shape theWire)
static

Correctly orients edges on the wire.

◆ OrientFacesOnShell()

static void BOPTools_AlgoTools::OrientFacesOnShell ( TopoDS_Shape theShell)
static

Correctly orients faces on the shell.

◆ PointOnEdge()

static void BOPTools_AlgoTools::PointOnEdge ( const TopoDS_Edge aEdge,
const Standard_Real  aPrm,
gp_Pnt aP 
)
static

Compute a 3D-point on the edge <aEdge> at parameter <aPrm>

◆ Sense()

static Standard_Integer BOPTools_AlgoTools::Sense ( const TopoDS_Face theF1,
const TopoDS_Face theF2,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Basing on the normals directions of the faces the method Defines whether to reverse the second face or not.
<theContext> - storage for caching the geometrical tools.

◆ UpdateVertex() [1/3]

static void BOPTools_AlgoTools::UpdateVertex ( const IntTools_Curve aIC,
const Standard_Real  aT,
const TopoDS_Vertex aV 
)
static

Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the curve <aIC>

◆ UpdateVertex() [2/3]

static void BOPTools_AlgoTools::UpdateVertex ( const TopoDS_Edge aE,
const Standard_Real  aT,
const TopoDS_Vertex aV 
)
static

Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the edge <aE>

◆ UpdateVertex() [3/3]

static void BOPTools_AlgoTools::UpdateVertex ( const TopoDS_Vertex aVF,
const TopoDS_Vertex aVN 
)
static

Update the tolerance value for vertex <aVN> taking into account the fact that <aVN> should cover tolerance zone of <aVF>


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