# OCC.BOPTools module

class `BOPTools_AlgoTools`

  Bases: `object`

  static `AreFacesSameDomain`(*args)

    Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
    Return type: | bool

  static `CheckSameGeom`(*args)

    Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
    Return type: | bool

  static `ComputeState`(*args)
    - 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.

    Parameters: | thePoint (gp_Pnt) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
    Return type: | TopAbs_State

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

    Parameters: | theVertex (TopoDS_Vertex &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
    Return type: | TopAbs_State

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

    Parameters: | theEdge (TopoDS_Edge &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
    Return type: | TopAbs_State

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

    Parameters: | theFace (TopoDS_Face &) – theSolid (TopoDS_Solid &) – theTol (float) – theBounds (BOPCol_IndexedMapOfShape &) – theContext (Handle_IntTools_Context &) –
    Return type: | TopAbs_State

  static `ComputeStateByOnePoint`(*args)
    - 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.

    Parameters: | theShape (TopoDS_Shape &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
    Return type: | TopAbs_State

  static `ComputeTolerance`(*args)
    - Computes the max distance between points taken from 3D and 2D curves by the same parameter

    Parameters: | theCurve3D (Handle_Geom_Curve &) – theCurve2D (Handle_Geom2d_Curve &) – theSurf (Handle_Geom_Surface &) – theMaxDist (float &) – theMaxPar (float &) –
    Return type: | bool

    - Computes the necessary value of the tolerance for the edge

    Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theMaxDist (float &) – theMaxPar (float &) –
    Return type: | bool

  static `ComputeVV`(*args)

    Parameters: | aV1 (TopoDS_Vertex &) – aP2 (gp_Pnt) – aTolP2 (float) – aV1 – aV2 (TopoDS_Vertex &) –
    Return type: | int
    Return type: | int

  static `CorrectCurveOnSurface`(*args)
    - Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidCurveOnSurface.

    Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
    Return type: | void

  static `CorrectPointOnCurve`(*args)
    - Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidPointOnCurve.

    Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
    Return type: | void

  static `CorrectRange`(*args)
    - Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances’ values of <aE1>, <aE2>

    Parameters: | aE1 (TopoDS_Edge &) – aE2 (TopoDS_Edge &) – aSR (IntTools_Range &) – aNewSR (IntTools_Range &) –
    Return type: | void

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

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aSR (IntTools_Range &) – aNewSR (IntTools_Range &) –
    Return type: | void

  static `CorrectShapeTolerances`(*args)
    - Corrects tolerance values of the sub-shapes of the shape <theS> if needed.

    Parameters: | theS (TopoDS_Shape &) – theRunParallel (bool) – default value is Standard_False
    Return type: | void

  static `CorrectTolerances`(*args)
    - 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.

    Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
    Return type: | void

  static `Dimension`(*args)
    - Retutns dimension of the shape <theS>.

    Parameters: | theS (TopoDS_Shape &) –
    Return type: | int

  static `GetEdgeOff`(*args)
    - Returns True if the face theFace contains the edge theEdge but with opposite orientation. If the method returns True theEdgeOff is the edge founded

    Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theEdgeOff (TopoDS_Edge &) –
    Return type: | bool

  static `GetEdgeOnFace`(*args)
    - 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

    Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theEdgeOnF (TopoDS_Edge &) –
    Return type: | bool

  static `GetFaceOff`(*args)
    - 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

    Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theLCEF (BOPTools_ListOfCoupleOfShape &) – theFaceOff (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
    Return type: | bool

  static `IsBlockInOnFace`(*args)
    - Returns True if PaveBlock <aPB> lays on the face <aF>, i.e the <PB> is IN or ON in 2D of <aF>

    Parameters: | aShR (IntTools_Range &) – aF (TopoDS_Face &) – aE (TopoDS_Edge &) – aContext (Handle_IntTools_Context &) –
    Return type: | bool

  static `IsHole`(*args)

    Parameters: | aW (TopoDS_Shape &) – aF (TopoDS_Shape &) –
    Return type: | bool

  static `IsInternalFace`(*args)
    - 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

    Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theFace1 (TopoDS_Face &) – theFace2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
    Return type: | int

    - 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

    Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theLF (BOPCol_ListOfShape &) – theContext (Handle_IntTools_Context &) –
    Return type: | int

    - 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

    Parameters: | theFace (TopoDS_Face &) – theSolid (TopoDS_Solid &) – theMEF (BOPCol_IndexedDataMapOfShapeListOfShape &) – theTol (float) – theContext (Handle_IntTools_Context &) –
    Return type: | int

  static `IsInvertedSolid`(*args)
    - Returns true if the solid <theSolid> is inverted

    Parameters: | theSolid (TopoDS_Solid &) –
    Return type: | bool

  static `IsMicroEdge`(*args)
    - Checks if it is possible to compute shrunk range for the edge <aE>.

    Parameters: | theEdge (TopoDS_Edge &) – theContext (Handle_IntTools_Context &) –
    Return type: | bool

  static `IsOpenShell`(*args)
    - Returns true if the shell <theShell> is open

    Parameters: | theShell (TopoDS_Shell &) –
    Return type: | bool

  static `IsSplitToReverse`(*args)
    - Returns True if the shape theSplit has opposite direction than theShape theContext - cashed geometrical tools

    Parameters: | theSplit (TopoDS_Shape &) – theShape (TopoDS_Shape &) – theContext (Handle_IntTools_Context &) –
    Return type: | bool

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

    Parameters: | theSplit (TopoDS_Face &) – theShape (TopoDS_Face &) – theContext (Handle_IntTools_Context &) – aE1 (TopoDS_Edge &) – aE2 (TopoDS_Edge &) – aContext (Handle_IntTools_Context &) –
    Return type: | bool
    Return type: | bool

  static `MakeConnexityBlock`(*args)
    - For the list of faces theLS build block theLSCB in terms of connexity by edges theMapAvoid - set of edges to avoid for the treatment

    Parameters: | theLS (BOPCol_ListOfShape &) – theMapAvoid (BOPCol_IndexedMapOfShape &) – theLSCB (BOPCol_ListOfShape &) – theAllocator (BOPCol_BaseAllocator &) –
    Return type: | void

  static `MakeConnexityBlocks`(*args)
    - For the compound theS build the blocks theLCB (as list of compounds) in terms of connexity by the shapes of theType

    Parameters: | theS (TopoDS_Shape &) – theType1 (TopAbs_ShapeEnum) – theType2 (TopAbs_ShapeEnum) – theLCB (BOPCol_ListOfShape &) –
    Return type: | void

  static `MakeContainer`(*args)

    Parameters: | theType (TopAbs_ShapeEnum) – theShape (TopoDS_Shape &) –
    Return type: | void

  static `MakeEdge`(*args)

    Parameters: | theCurve (IntTools_Curve &) – theV1 (TopoDS_Vertex &) – theT1 (float) – theV2 (TopoDS_Vertex &) – theT2 (float) – theTolR3D (float) – theE (TopoDS_Edge &) –
    Return type: | void

  static `MakeNewVertex`(*args)
    - Make a vertex using 3D-point <aP1> and 3D-tolerance value <aTol>

    Parameters: | aP1 (gp_Pnt) – aTol (float) – aNewVertex (TopoDS_Vertex &) –
    Return type: | void

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

    Parameters: | aV1 (TopoDS_Vertex &) – aV2 (TopoDS_Vertex &) – aNewVertex (TopoDS_Vertex &) –
    Return type: | void

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

    Parameters: | aE1 (TopoDS_Edge &) – aP1 (float) – aE2 (TopoDS_Edge &) – aP2 (float) – aNewVertex (TopoDS_Vertex &) –
    Return type: | void

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

    Parameters: | aE1 (TopoDS_Edge &) – aP1 (float) – aF2 (TopoDS_Face &) – aNewVertex (TopoDS_Vertex &) –
    Return type: | void

  static `MakePCurve`(*args)

    Parameters: | theE (TopoDS_Edge &) – theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theCurve (IntTools_Curve &) – thePC1 (bool) – thePC2 (bool) –
    Return type: | void

  static `MakeSectEdge`(*args)
    - Make the edge from 3D-Curve <aIC> and two vertices <aV1,aV2> at parameters <aP1,aP2>

    Parameters: | aIC (IntTools_Curve &) – aV1 (TopoDS_Vertex &) – aP1 (float) – aV2 (TopoDS_Vertex &) – aP2 (float) – aNewEdge (TopoDS_Edge &) –
    Return type: | void

  static `MakeSplitEdge`(*args)
    - Make the edge from base edge <aE1> and two vertices <aV1,aV2> at parameters <aP1,aP2>

    Parameters: | aE1 (TopoDS_Edge &) – aV1 (TopoDS_Vertex &) – aP1 (float) – aV2 (TopoDS_Vertex &) – aP2 (float) – aNewEdge (TopoDS_Edge &) –
    Return type: | void

  static `MakeVertex`(*args)

    Parameters: | aLV (BOPCol_ListOfShape &) – aV (TopoDS_Vertex &) –
    Return type: | void

  static `OrientFacesOnShell`(*args)

    Parameters: | theS (TopoDS_Shape &) –
    Return type: | void

  static `PointOnEdge`(*args)
    - Compute a 3D-point on the edge <aEdge> at parameter <aPrm>

    Parameters: | aEdge (TopoDS_Edge &) – aPrm (float) – aP (gp_Pnt) –
    Return type: | void

  static `Sense`(*args)

    Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) –
    Return type: | int

  static `UpdateVertex`(*args)
    - Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the curve <aIC>

    Parameters: | aIC (IntTools_Curve &) – aT (float) – aV (TopoDS_Vertex &) –
    Return type: | void

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

    Parameters: | aE (TopoDS_Edge &) – aT (float) – aV (TopoDS_Vertex &) –
    Return type: | void

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

    Parameters: | aVF (TopoDS_Vertex &) – aVN (TopoDS_Vertex &) –
    Return type: | void

  `thisown`

    The membership flag

class `BOPTools_AlgoTools2D`

  Bases: `object`

  static `AdjustPCurveOnFace`(*args)
    - Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .

    Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aC2D (Handle_Geom2d_Curve &) – aC2DA (Handle_Geom2d_Curve &) –
    Return type: | void

    - Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> . [aT1, aT2] - range to adjust

    Parameters: | aF (TopoDS_Face &) – aT1 (float) – aT2 (float) – aC2D (Handle_Geom2d_Curve &) – aC2DA (Handle_Geom2d_Curve &) –
    Return type: | void

  static `BuildPCurveForEdgeOnFace`(*args)
    - Compute P-Curve for the edge <aE> on the face <aF>

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) –
    Return type: | void

  static `BuildPCurveForEdgeOnPlane`(*args)

    Parameters: | theE (TopoDS_Edge &) – theF (TopoDS_Face &) –
    Return type: | void

  static `BuildPCurveForEdgesOnPlane`(*args)

    Parameters: | theLE (BOPCol_ListOfShape &) – theF (TopoDS_Face &) –
    Return type: | void

  static `EdgeTangent`(*args)
    - Compute tangent for the edge <aE> [in 3D] at parameter <aT>

    Parameters: | anE (TopoDS_Edge &) – aT (float) – Tau (gp_Vec) –
    Return type: | bool

  static `HasCurveOnSurface`(*args)
    - Returns True if the edge <aE> has P-Curve <aC> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance If the P-Curve does not exist, aC.IsNull()=True.

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aC (Handle_Geom2d_Curve &) – aFirst (float &) – aLast (float &) – aToler (float &) –
    Return type: | bool

    - Returns True if the edge <aE> has P-Curve <aC> on surface <aF> . If the P-Curve does not exist, aC.IsNull()=True.

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) –
    Return type: | bool

  static `IntermediatePoint`(*args)
    - Compute intermediate value in between [aFirst, aLast] .

    Parameters: | aFirst (float) – aLast (float) –
    Return type: | float

    - Compute intermediate value of parameter for the edge <anE>.

    Parameters: | anE (TopoDS_Edge &) –
    Return type: | float

  static `Make2D`(*args)
    - Make P-Curve <aC> for the edge <aE> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aC (Handle_Geom2d_Curve &) – aFirst (float &) – aLast (float &) – aToler (float &) –
    Return type: | void

  static `MakePCurveOfType`(*args)
    - Make empty P-Curve <aC> of relevant to <PC> type

    Parameters: | PC (ProjLib_ProjectedCurve &) – aC (Handle_Geom2d_Curve &) –
    Return type: | void

  static `MakePCurveOnFace`(*args)
    - Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . [aToler] - reached tolerance

    Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aC (Handle_Geom2d_Curve &) – aToler (float &) –
    Return type: | void

    - Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . [aT1, aT2] - range to build [aToler] - reached tolerance

    Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aT1 (float) – aT2 (float) – aC (Handle_Geom2d_Curve &) – aToler (float &) –
    Return type: | void

  static `PointOnSurface`(*args)
    - Compute surface parameters <U,V> of the face <aF> for the point from the edge <aE> at parameter <aT>.

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – U (float &) – V (float &) –
    Return type: | void

  `thisown`

    The membership flag

`BOPTools_AlgoTools2D_AdjustPCurveOnFace`(*args)
  - Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .

  Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aC2D (Handle_Geom2d_Curve &) – aC2DA (Handle_Geom2d_Curve &) –
  Return type: | void

  - Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> . [aT1, aT2] - range to adjust

  Parameters: | aF (TopoDS_Face &) – aT1 (float) – aT2 (float) – aC2D (Handle_Geom2d_Curve &) – aC2DA (Handle_Geom2d_Curve &) –
  Return type: | void

`BOPTools_AlgoTools2D_BuildPCurveForEdgeOnFace`(*args)
  - Compute P-Curve for the edge <aE> on the face <aF>

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) –
  Return type: | void

`BOPTools_AlgoTools2D_BuildPCurveForEdgeOnPlane`(*args)

  Parameters: | theE (TopoDS_Edge &) – theF (TopoDS_Face &) –
  Return type: | void

`BOPTools_AlgoTools2D_BuildPCurveForEdgesOnPlane`(*args)

  Parameters: | theLE (BOPCol_ListOfShape &) – theF (TopoDS_Face &) –
  Return type: | void

`BOPTools_AlgoTools2D_EdgeTangent`(*args)
  - Compute tangent for the edge <aE> [in 3D] at parameter <aT>

  Parameters: | anE (TopoDS_Edge &) – aT (float) – Tau (gp_Vec) –
  Return type: | bool

`BOPTools_AlgoTools2D_HasCurveOnSurface`(*args)
  - Returns True if the edge <aE> has P-Curve <aC> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance If the P-Curve does not exist, aC.IsNull()=True.

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aC (Handle_Geom2d_Curve &) – aFirst (float &) – aLast (float &) – aToler (float &) –
  Return type: | bool

  - Returns True if the edge <aE> has P-Curve <aC> on surface <aF> . If the P-Curve does not exist, aC.IsNull()=True.

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) –
  Return type: | bool

`BOPTools_AlgoTools2D_IntermediatePoint`(*args)
  - Compute intermediate value in between [aFirst, aLast] .

  Parameters: | aFirst (float) – aLast (float) –
  Return type: | float

  - Compute intermediate value of parameter for the edge <anE>.

  Parameters: | anE (TopoDS_Edge &) –
  Return type: | float

`BOPTools_AlgoTools2D_Make2D`(*args)
  - Make P-Curve <aC> for the edge <aE> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aC (Handle_Geom2d_Curve &) – aFirst (float &) – aLast (float &) – aToler (float &) –
  Return type: | void

`BOPTools_AlgoTools2D_MakePCurveOfType`(*args)
  - Make empty P-Curve <aC> of relevant to <PC> type

  Parameters: | PC (ProjLib_ProjectedCurve &) – aC (Handle_Geom2d_Curve &) –
  Return type: | void

`BOPTools_AlgoTools2D_MakePCurveOnFace`(*args)
  - Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . [aToler] - reached tolerance

  Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aC (Handle_Geom2d_Curve &) – aToler (float &) –
  Return type: | void

  - Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . [aT1, aT2] - range to build [aToler] - reached tolerance

  Parameters: | aF (TopoDS_Face &) – C3D (Handle_Geom_Curve &) – aT1 (float) – aT2 (float) – aC (Handle_Geom2d_Curve &) – aToler (float &) –
  Return type: | void

`BOPTools_AlgoTools2D_PointOnSurface`(*args)
  - Compute surface parameters <U,V> of the face <aF> for the point from the edge <aE> at parameter <aT>.

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – U (float &) – V (float &) –
  Return type: | void

class `BOPTools_AlgoTools3D`

  Bases: `object`

  static `DoSplitSEAMOnFace`(*args)
    - Make the edge <aSp> seam edge for the face <aF>

    Parameters: | aSp (TopoDS_Edge &) – aF (TopoDS_Face &) –
    Return type: | void

  static `GetApproxNormalToFaceOnEdge`(*args)
    - Computes normal to the face <aF> for the 3D-point that belonds to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; //! Warning: The normal is computed not exactly in the point on the edge, but in point that is near to the edge towards to the face material (so, we’ll have approx. normal)

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aPx (gp_Pnt) – aD (gp_Dir) – theContext (Handle_IntTools_Context &) – theE (TopoDS_Edge &) – theF (TopoDS_Face &) – aT – aP (gp_Pnt) – aDNF (gp_Dir) – aDt2D (float) –
    Return type: | void
    Return type: | void

  static `GetNormalToFaceOnEdge`(*args)
    - Computes normal to the face <aF> for the point on the edge <aE> at parameter <aT>

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aD (gp_Dir) –
    Return type: | void

    - Computes normal to the face <aF> for the point on the edge <aE> at arbitrary intermediate parameter

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aD (gp_Dir) –
    Return type: | void

  static `GetNormalToSurface`(*args)
    - Compute normal <aD> to surface <aS> in point (U,V) Returns True if directions aD1U, aD1V coinside

    Parameters: | aS (Handle_Geom_Surface &) – U (float) – V (float) – aD (gp_Dir) –
    Return type: | bool

  static `IsEmptyShape`(*args)
    - Returns True if the shape <aS> does not contain geometry information (e.g. empty compound)

    Parameters: | aS (TopoDS_Shape &) –
    Return type: | bool

  static `MinStepIn2d`(*args)
    - Returns simple step value that is used in 2D-computations = 1.e-5

    Return type: | float

  static `OrientEdgeOnFace`(*args)
    - Get the edge <aER> from the face <aF> that is the same as the edge <aE>

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aER (TopoDS_Edge &) –
    Return type: | void

  static `PointInFace`(*args)
    - Computes a point <theP> inside the face <theF>. <theP2D> - 2D representation of <theP> on the surface of <theF> Returns 0 in case of success.

    Parameters: | theF (TopoDS_Face &) – theP (gp_Pnt) – theP2D (gp_Pnt2d) – theContext (Handle_IntTools_Context &) –
    Return type: | int

  static `PointNearEdge`(*args)
    - Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is <aDt2D>

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aDt2D (float) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) –
    Return type: | void

    - Computes the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_AlgoTools3D::MinStepIn2d()

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) – theContext (Handle_IntTools_Context &) –
    Return type: | void

    - Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at arbitrary parameter towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_AlgoTools3D::MinStepIn2d()

    Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) – theContext (Handle_IntTools_Context &) –
    Return type: | void

  static `SenseFlag`(*args)
    - Returns 1 if scalar product aNF1* aNF2>0. Returns 0 if directions aNF1 aNF2 coinside Returns -1 if scalar product aNF1* aNF2<0.

    Parameters: | aNF1 (gp_Dir) – aNF2 (gp_Dir) –
    Return type: | int

  `thisown`

    The membership flag

`BOPTools_AlgoTools3D_DoSplitSEAMOnFace`(*args)
  - Make the edge <aSp> seam edge for the face <aF>

  Parameters: | aSp (TopoDS_Edge &) – aF (TopoDS_Face &) –
  Return type: | void

`BOPTools_AlgoTools3D_GetApproxNormalToFaceOnEdge`(*args)
  - Computes normal to the face <aF> for the 3D-point that belonds to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; //! Warning: The normal is computed not exactly in the point on the edge, but in point that is near to the edge towards to the face material (so, we’ll have approx. normal)

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aPx (gp_Pnt) – aD (gp_Dir) – theContext (Handle_IntTools_Context &) – theE (TopoDS_Edge &) – theF (TopoDS_Face &) – aT – aP (gp_Pnt) – aDNF (gp_Dir) – aDt2D (float) –
  Return type: | void
  Return type: | void

`BOPTools_AlgoTools3D_GetNormalToFaceOnEdge`(*args)
  - Computes normal to the face <aF> for the point on the edge <aE> at parameter <aT>

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aD (gp_Dir) –
  Return type: | void

  - Computes normal to the face <aF> for the point on the edge <aE> at arbitrary intermediate parameter

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aD (gp_Dir) –
  Return type: | void

`BOPTools_AlgoTools3D_GetNormalToSurface`(*args)
  - Compute normal <aD> to surface <aS> in point (U,V) Returns True if directions aD1U, aD1V coinside

  Parameters: | aS (Handle_Geom_Surface &) – U (float) – V (float) – aD (gp_Dir) –
  Return type: | bool

`BOPTools_AlgoTools3D_IsEmptyShape`(*args)
  - Returns True if the shape <aS> does not contain geometry information (e.g. empty compound)

  Parameters: | aS (TopoDS_Shape &) –
  Return type: | bool

`BOPTools_AlgoTools3D_MinStepIn2d`(*args)
  - Returns simple step value that is used in 2D-computations = 1.e-5

  Return type: | float

`BOPTools_AlgoTools3D_OrientEdgeOnFace`(*args)
  - Get the edge <aER> from the face <aF> that is the same as the edge <aE>

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aER (TopoDS_Edge &) –
  Return type: | void

`BOPTools_AlgoTools3D_PointInFace`(*args)
  - Computes a point <theP> inside the face <theF>. <theP2D> - 2D representation of <theP> on the surface of <theF> Returns 0 in case of success.

  Parameters: | theF (TopoDS_Face &) – theP (gp_Pnt) – theP2D (gp_Pnt2d) – theContext (Handle_IntTools_Context &) –
  Return type: | int

`BOPTools_AlgoTools3D_PointNearEdge`(*args)
  - Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is <aDt2D>

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aDt2D (float) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) –
  Return type: | void

  - Computes the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_AlgoTools3D::MinStepIn2d()

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aT (float) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) – theContext (Handle_IntTools_Context &) –
  Return type: | void

  - Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at arbitrary parameter towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_AlgoTools3D::MinStepIn2d()

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aP2D (gp_Pnt2d) – aPx (gp_Pnt) – theContext (Handle_IntTools_Context &) –
  Return type: | void

`BOPTools_AlgoTools3D_SenseFlag`(*args)
  - Returns 1 if scalar product aNF1* aNF2>0. Returns 0 if directions aNF1 aNF2 coinside Returns -1 if scalar product aNF1* aNF2<0.

  Parameters: | aNF1 (gp_Dir) – aNF2 (gp_Dir) –
  Return type: | int

`BOPTools_AlgoTools_AreFacesSameDomain`(*args)

  Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
  Return type: | bool

`BOPTools_AlgoTools_CheckSameGeom`(*args)

  Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
  Return type: | bool

`BOPTools_AlgoTools_ComputeState`(*args)
  - 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.

  Parameters: | thePoint (gp_Pnt) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
  Return type: | TopAbs_State

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

  Parameters: | theVertex (TopoDS_Vertex &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
  Return type: | TopAbs_State

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

  Parameters: | theEdge (TopoDS_Edge &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
  Return type: | TopAbs_State

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

  Parameters: | theFace (TopoDS_Face &) – theSolid (TopoDS_Solid &) – theTol (float) – theBounds (BOPCol_IndexedMapOfShape &) – theContext (Handle_IntTools_Context &) –
  Return type: | TopAbs_State

`BOPTools_AlgoTools_ComputeStateByOnePoint`(*args)
  - 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.

  Parameters: | theShape (TopoDS_Shape &) – theSolid (TopoDS_Solid &) – theTol (float) – theContext (Handle_IntTools_Context &) –
  Return type: | TopAbs_State

`BOPTools_AlgoTools_ComputeTolerance`(*args)
  - Computes the max distance between points taken from 3D and 2D curves by the same parameter

  Parameters: | theCurve3D (Handle_Geom_Curve &) – theCurve2D (Handle_Geom2d_Curve &) – theSurf (Handle_Geom_Surface &) – theMaxDist (float &) – theMaxPar (float &) –
  Return type: | bool

  - Computes the necessary value of the tolerance for the edge

  Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theMaxDist (float &) – theMaxPar (float &) –
  Return type: | bool

`BOPTools_AlgoTools_ComputeVV`(*args)

  Parameters: | aV1 (TopoDS_Vertex &) – aP2 (gp_Pnt) – aTolP2 (float) – aV1 – aV2 (TopoDS_Vertex &) –
  Return type: | int
  Return type: | int

`BOPTools_AlgoTools_CorrectCurveOnSurface`(*args)
  - Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidCurveOnSurface.

  Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
  Return type: | void

`BOPTools_AlgoTools_CorrectPointOnCurve`(*args)
  - Provides valid values of tolerances for the shape <theS> in terms of BRepCheck_InvalidPointOnCurve.

  Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
  Return type: | void

`BOPTools_AlgoTools_CorrectRange`(*args)
  - Correct shrunk range <aSR> taking into account 3D-curve resolution and corresp. tolerances’ values of <aE1>, <aE2>

  Parameters: | aE1 (TopoDS_Edge &) – aE2 (TopoDS_Edge &) – aSR (IntTools_Range &) – aNewSR (IntTools_Range &) –
  Return type: | void

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

  Parameters: | aE (TopoDS_Edge &) – aF (TopoDS_Face &) – aSR (IntTools_Range &) – aNewSR (IntTools_Range &) –
  Return type: | void

`BOPTools_AlgoTools_CorrectShapeTolerances`(*args)
  - Corrects tolerance values of the sub-shapes of the shape <theS> if needed.

  Parameters: | theS (TopoDS_Shape &) – theRunParallel (bool) – default value is Standard_False
  Return type: | void

`BOPTools_AlgoTools_CorrectTolerances`(*args)
  - 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.

  Parameters: | theS (TopoDS_Shape &) – theTolMax (float) – default value is 0.0001 theRunParallel (bool) – default value is Standard_False
  Return type: | void

`BOPTools_AlgoTools_Dimension`(*args)
  - Retutns dimension of the shape <theS>.

  Parameters: | theS (TopoDS_Shape &) –
  Return type: | int

`BOPTools_AlgoTools_GetEdgeOff`(*args)
  - Returns True if the face theFace contains the edge theEdge but with opposite orientation. If the method returns True theEdgeOff is the edge founded

  Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theEdgeOff (TopoDS_Edge &) –
  Return type: | bool

`BOPTools_AlgoTools_GetEdgeOnFace`(*args)
  - 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

  Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theEdgeOnF (TopoDS_Edge &) –
  Return type: | bool

`BOPTools_AlgoTools_GetFaceOff`(*args)
  - 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

  Parameters: | theEdge (TopoDS_Edge &) – theFace (TopoDS_Face &) – theLCEF (BOPTools_ListOfCoupleOfShape &) – theFaceOff (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
  Return type: | bool

`BOPTools_AlgoTools_IsBlockInOnFace`(*args)
  - Returns True if PaveBlock <aPB> lays on the face <aF>, i.e the <PB> is IN or ON in 2D of <aF>

  Parameters: | aShR (IntTools_Range &) – aF (TopoDS_Face &) – aE (TopoDS_Edge &) – aContext (Handle_IntTools_Context &) –
  Return type: | bool

`BOPTools_AlgoTools_IsHole`(*args)

  Parameters: | aW (TopoDS_Shape &) – aF (TopoDS_Shape &) –
  Return type: | bool

`BOPTools_AlgoTools_IsInternalFace`(*args)
  - 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

  Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theFace1 (TopoDS_Face &) – theFace2 (TopoDS_Face &) – theContext (Handle_IntTools_Context &) –
  Return type: | int

  - 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

  Parameters: | theFace (TopoDS_Face &) – theEdge (TopoDS_Edge &) – theLF (BOPCol_ListOfShape &) – theContext (Handle_IntTools_Context &) –
  Return type: | int

  - 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

  Parameters: | theFace (TopoDS_Face &) – theSolid (TopoDS_Solid &) – theMEF (BOPCol_IndexedDataMapOfShapeListOfShape &) – theTol (float) – theContext (Handle_IntTools_Context &) –
  Return type: | int

`BOPTools_AlgoTools_IsInvertedSolid`(*args)
  - Returns true if the solid <theSolid> is inverted

  Parameters: | theSolid (TopoDS_Solid &) –
  Return type: | bool

`BOPTools_AlgoTools_IsMicroEdge`(*args)
  - Checks if it is possible to compute shrunk range for the edge <aE>.

  Parameters: | theEdge (TopoDS_Edge &) – theContext (Handle_IntTools_Context &) –
  Return type: | bool

`BOPTools_AlgoTools_IsOpenShell`(*args)
  - Returns true if the shell <theShell> is open

  Parameters: | theShell (TopoDS_Shell &) –
  Return type: | bool

`BOPTools_AlgoTools_IsSplitToReverse`(*args)
  - Returns True if the shape theSplit has opposite direction than theShape theContext - cashed geometrical tools

  Parameters: | theSplit (TopoDS_Shape &) – theShape (TopoDS_Shape &) – theContext (Handle_IntTools_Context &) –
  Return type: | bool

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

  Parameters: | theSplit (TopoDS_Face &) – theShape (TopoDS_Face &) – theContext (Handle_IntTools_Context &) – aE1 (TopoDS_Edge &) – aE2 (TopoDS_Edge &) – aContext (Handle_IntTools_Context &) –
  Return type: | bool
  Return type: | bool

`BOPTools_AlgoTools_MakeConnexityBlock`(*args)
  - For the list of faces theLS build block theLSCB in terms of connexity by edges theMapAvoid - set of edges to avoid for the treatment

  Parameters: | theLS (BOPCol_ListOfShape &) – theMapAvoid (BOPCol_IndexedMapOfShape &) – theLSCB (BOPCol_ListOfShape &) – theAllocator (BOPCol_BaseAllocator &) –
  Return type: | void

`BOPTools_AlgoTools_MakeConnexityBlocks`(*args)
  - For the compound theS build the blocks theLCB (as list of compounds) in terms of connexity by the shapes of theType

  Parameters: | theS (TopoDS_Shape &) – theType1 (TopAbs_ShapeEnum) – theType2 (TopAbs_ShapeEnum) – theLCB (BOPCol_ListOfShape &) –
  Return type: | void

`BOPTools_AlgoTools_MakeContainer`(*args)

  Parameters: | theType (TopAbs_ShapeEnum) – theShape (TopoDS_Shape &) –
  Return type: | void

`BOPTools_AlgoTools_MakeEdge`(*args)

  Parameters: | theCurve (IntTools_Curve &) – theV1 (TopoDS_Vertex &) – theT1 (float) – theV2 (TopoDS_Vertex &) – theT2 (float) – theTolR3D (float) – theE (TopoDS_Edge &) –
  Return type: | void

`BOPTools_AlgoTools_MakeNewVertex`(*args)
  - Make a vertex using 3D-point <aP1> and 3D-tolerance value <aTol>

  Parameters: | aP1 (gp_Pnt) – aTol (float) – aNewVertex (TopoDS_Vertex &) –
  Return type: | void

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

  Parameters: | aV1 (TopoDS_Vertex &) – aV2 (TopoDS_Vertex &) – aNewVertex (TopoDS_Vertex &) –
  Return type: | void

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

  Parameters: | aE1 (TopoDS_Edge &) – aP1 (float) – aE2 (TopoDS_Edge &) – aP2 (float) – aNewVertex (TopoDS_Vertex &) –
  Return type: | void

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

  Parameters: | aE1 (TopoDS_Edge &) – aP1 (float) – aF2 (TopoDS_Face &) – aNewVertex (TopoDS_Vertex &) –
  Return type: | void

`BOPTools_AlgoTools_MakePCurve`(*args)

  Parameters: | theE (TopoDS_Edge &) – theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) – theCurve (IntTools_Curve &) – thePC1 (bool) – thePC2 (bool) –
  Return type: | void

`BOPTools_AlgoTools_MakeSectEdge`(*args)
  - Make the edge from 3D-Curve <aIC> and two vertices <aV1,aV2> at parameters <aP1,aP2>

  Parameters: | aIC (IntTools_Curve &) – aV1 (TopoDS_Vertex &) – aP1 (float) – aV2 (TopoDS_Vertex &) – aP2 (float) – aNewEdge (TopoDS_Edge &) –
  Return type: | void

`BOPTools_AlgoTools_MakeSplitEdge`(*args)
  - Make the edge from base edge <aE1> and two vertices <aV1,aV2> at parameters <aP1,aP2>

  Parameters: | aE1 (TopoDS_Edge &) – aV1 (TopoDS_Vertex &) – aP1 (float) – aV2 (TopoDS_Vertex &) – aP2 (float) – aNewEdge (TopoDS_Edge &) –
  Return type: | void

`BOPTools_AlgoTools_MakeVertex`(*args)

  Parameters: | aLV (BOPCol_ListOfShape &) – aV (TopoDS_Vertex &) –
  Return type: | void

`BOPTools_AlgoTools_OrientFacesOnShell`(*args)

  Parameters: | theS (TopoDS_Shape &) –
  Return type: | void

`BOPTools_AlgoTools_PointOnEdge`(*args)
  - Compute a 3D-point on the edge <aEdge> at parameter <aPrm>

  Parameters: | aEdge (TopoDS_Edge &) – aPrm (float) – aP (gp_Pnt) –
  Return type: | void

`BOPTools_AlgoTools_Sense`(*args)

  Parameters: | theF1 (TopoDS_Face &) – theF2 (TopoDS_Face &) –
  Return type: | int

`BOPTools_AlgoTools_UpdateVertex`(*args)
  - Update the tolerance value for vertex <aV> taking into account the fact that <aV> lays on the curve <aIC>

  Parameters: | aIC (IntTools_Curve &) – aT (float) – aV (TopoDS_Vertex &) –
  Return type: | void

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

  Parameters: | aE (TopoDS_Edge &) – aT (float) – aV (TopoDS_Vertex &) –
  Return type: | void

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

  Parameters: | aVF (TopoDS_Vertex &) – aVN (TopoDS_Vertex &) –
  Return type: | void

class `BOPTools_ConnexityBlock`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | theAllocator (Handle_NCollection_BaseAllocator &) –
  Return type: | None

  `ChangeLoops`()

    Return type: | BOPCol_ListOfShape

  `ChangeShapes`()

    Return type: | BOPCol_ListOfShape

  `IsRegular`()

    Return type: | bool

  `Loops`()

    Return type: | BOPCol_ListOfShape

  `SetRegular`()

    Parameters: | theFlag (bool) –
    Return type: | None

  `Shapes`()

    Return type: | BOPCol_ListOfShape

  `thisown`

    The membership flag

class `BOPTools_CoupleOfShape`(*args)

  Bases: `object`

  Return type: | None

  `SetShape1`()

    Parameters: | theShape (TopoDS_Shape &) –
    Return type: | None

  `SetShape2`()

    Parameters: | theShape (TopoDS_Shape &) –
    Return type: | None

  `Shape1`()

    Return type: | TopoDS_Shape

  `Shape2`()

    Return type: | TopoDS_Shape

  `thisown`

    The membership flag

class `BOPTools_EdgeSet`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | theAllocator (BOPCol_BaseAllocator &) –
  Return type: | None

  `AddEdge`()

    Parameters: | theEdge (TopoDS_Edge &) –
    Return type: | None

  `AddEdges`()

    Parameters: | theLS (BOPCol_ListOfShape &) – theFace (TopoDS_Shape &) –
    Return type: | None
    Return type: | None

  `Clear`()

    Return type: | None

  `Contains`()

    Parameters: | theSet (BOPTools_EdgeSet &) –
    Return type: | bool

  `Get`()

    Parameters: | theLS (BOPCol_ListOfShape &) –
    Return type: | None

  `SetShape`()

    Parameters: | theS (TopoDS_Shape &) –
    Return type: | None

  `Shape`()

    Return type: | TopoDS_Shape

  `thisown`

    The membership flag

class `BOPTools_Set`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | theAllocator (BOPCol_BaseAllocator &) –
  Return type: | None

  `Add`()

    Parameters: | theS (TopoDS_Shape &) – theType (TopAbs_ShapeEnum) –
    Return type: | None

  `Assign`()

    Parameters: | Other (BOPTools_Set &) –
    Return type: | BOPTools_Set

  `HashCode`()

    Parameters: | Upper (int) –
    Return type: | int

  `IsEqual`()

    Parameters: | aOther (BOPTools_Set &) –
    Return type: | bool

  `NbShapes`()

    Return type: | int

  `Set`()

    Parameters: | Other (BOPTools_Set &) –
    Return type: | BOPTools_Set

  `Shape`()

    Return type: | TopoDS_Shape

  `thisown`

    The membership flag

class `BOPTools_SetMapHasher`

  Bases: `object`

  static `HashCode`(*args)

    Parameters: | aSet (BOPTools_Set &) – Upper (int) –
    Return type: | int

  static `IsEqual`(*args)

    Parameters: | aSet1 (BOPTools_Set &) – aSet2 (BOPTools_Set &) –
    Return type: | bool

  `thisown`

    The membership flag

`BOPTools_SetMapHasher_HashCode`(*args)

  Parameters: | aSet (BOPTools_Set &) – Upper (int) –
  Return type: | int

`BOPTools_SetMapHasher_IsEqual`(*args)

  Parameters: | aSet1 (BOPTools_Set &) – aSet2 (BOPTools_Set &) –
  Return type: | bool

class `BOPTools_ShapeSet`(*args)

  Bases: `object`

  Return type: | None
  Parameters: | theAllocator (BOPCol_BaseAllocator &) –
  Return type: | None

  `Add`()

    Parameters: | theLS (BOPCol_ListOfShape &) – theShape (TopoDS_Shape &) – theShape – theType (TopAbs_ShapeEnum) –
    Return type: | None
    Return type: | None
    Return type: | None

  `AddEdge`()

    Parameters: | theEdge (TopoDS_Edge &) –
    Return type: | None

  `AddEdges`()

    Parameters: | theLS (BOPCol_ListOfShape &) – theFace (TopoDS_Shape &) –
    Return type: | None
    Return type: | None

  `Clear`()

    Return type: | None

  `Contains`()

    Parameters: | theSet (BOPTools_ShapeSet &) –
    Return type: | bool

  `Get`()

    Parameters: | theLS (BOPCol_ListOfShape &) –
    Return type: | None

  `SetShape`()

    Parameters: | theS (TopoDS_Shape &) –
    Return type: | None

  `Shape`()

    Return type: | TopoDS_Shape

  `Subtract`()

    Parameters: | theSet (BOPTools_ShapeSet &) –
    Return type: | None

  `thisown`

    The membership flag

class `SwigPyIterator`(*args, **kwargs)

  Bases: `object`

  `advance`()
  `copy`()
  `decr`()
  `distance`()
  `equal`()
  `incr`()
  `next`()
  `previous`()
  `thisown`

    The membership flag

  `value`()

class `boptools`

  Bases: `object`

  static `MapShapes`(*args)

    Parameters: | S (TopoDS_Shape &) – M (BOPCol_IndexedMapOfShape &) – S – M – S – T (TopAbs_ShapeEnum) – M –
    Return type: | void
    Return type: | void
    Return type: | void

  static `MapShapesAndAncestors`(*args)

    Parameters: | S (TopoDS_Shape &) – TS (TopAbs_ShapeEnum) – TA (TopAbs_ShapeEnum) – M (BOPCol_IndexedDataMapOfShapeListOfShape &) –
    Return type: | void

  `thisown`

    The membership flag

`boptools_MapShapes`(*args)

  Parameters: | S (TopoDS_Shape &) – M (BOPCol_IndexedMapOfShape &) – S – M – S – T (TopAbs_ShapeEnum) – M –
  Return type: | void
  Return type: | void
  Return type: | void

`boptools_MapShapesAndAncestors`(*args)

  Parameters: | S (TopoDS_Shape &) – TS (TopAbs_ShapeEnum) – TA (TopAbs_ShapeEnum) – M (BOPCol_IndexedDataMapOfShapeListOfShape &) –
  Return type: | void

`register_handle`(handle, base_object)

  Inserts the handle into the base object to prevent memory corruption in certain cases