Open CASCADE Technology
7.2.0

#include <BOPAlgo_Tools.hxx>
Static Public Member Functions  
template<class theType , class theTypeHasher >  
static void  MakeBlocks (const NCollection_IndexedDataMap< theType, NCollection_List< theType >, theTypeHasher > &theMILI, NCollection_List< NCollection_List< theType >> &theMBlocks, const BOPCol_BaseAllocator &theAllocator) 
Makes the chains of the connected elements from the given connexity map. More...  
template<class theType , class theTypeHasher >  
static void  FillMap (const theType &n1, const theType &n2, NCollection_IndexedDataMap< theType, NCollection_List< theType >, theTypeHasher > &theMILI, const BOPCol_BaseAllocator &theAllocator) 
Fills the map with the connected entities. More...  
static void  FillMap (const Handle< BOPDS_PaveBlock > &thePB1, const Standard_Integer theF, BOPDS_IndexedDataMapOfPaveBlockListOfInteger &theMILI, const BOPCol_BaseAllocator &theAllocator) 
static void  PerformCommonBlocks (BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock &theMBlocks, const BOPCol_BaseAllocator &theAllocator, BOPDS_PDS &theDS) 
static void  PerformCommonBlocks (const BOPDS_IndexedDataMapOfPaveBlockListOfInteger &theMBlocks, const BOPCol_BaseAllocator &theAllocator, BOPDS_PDS &pDS) 
static Standard_Real  ComputeToleranceOfCB (const Handle< BOPDS_CommonBlock > &theCB, const BOPDS_PDS theDS, const Handle< IntTools_Context > &theContext) 
static Standard_Integer  EdgesToWires (const TopoDS_Shape &theEdges, TopoDS_Shape &theWires, const Standard_Boolean theShared=Standard_False, const Standard_Real theAngTol=1.e8) 
Creates planar wires from the given edges. The input edges are expected to be planar. And for the performance sake the method does not check if the edges are really planar. Thus, the result wires will also be not planar if the input edges are not planar. The edges may be not shared, but the resulting wires will be sharing the coinciding parts and intersecting parts. The output wires may be nonmanifold and contain free and multiconnected vertices. Parameters: <theEdges>  input edges; <theWires>  output wires; <theShared>  boolean flag which defines whether the input edges are already shared or have to be intersected; <theAngTol>  the angular tolerance which will be used for distinguishing the planes in which the edges are located. Default value is 1.e8 which is used for intersection of planes in IntTools_FaceFace. Method returns the following error statuses: 0  in case of success (at least one wire has been built); 1  in case there are no edges in the given shape; 2  sharing of the edges has failed. More...  
static Standard_Boolean  WiresToFaces (const TopoDS_Shape &theWires, TopoDS_Shape &theFaces, const Standard_Real theAngTol=1.e8) 
Creates planar faces from given planar wires. The method does not check if the wires are really planar. The input wires may be nonmanifold but should be shared. The wires located in the same planes and included into other wires will create holes in the faces built from outer wires. The tolerance values of the input shapes may be modified during the operation due to projection of the edges on the planes for creation of 2D curves. Parameters: <theWires>  the given wires; <theFaces>  the output faces; <theAngTol>  the angular tolerance for distinguishing the planes in which the wires are located. Default value is 1.e8 which is used for intersection of planes in IntTools_FaceFace. Method returns TRUE in case of success, i.e. at least one face has been built. More...  
static void  IntersectVertices (const BOPCol_IndexedDataMapOfShapeReal &theVertices, const Standard_Boolean theRunParallel, const Standard_Real theFuzzyValue, BOPCol_ListOfListOfShape &theChains) 
Finds chains of intersecting vertices. More...  

static 

static 
Creates planar wires from the given edges.
The input edges are expected to be planar. And for the performance sake the method does not check if the edges are really planar.
Thus, the result wires will also be not planar if the input edges are not planar.
The edges may be not shared, but the resulting wires will be sharing the coinciding parts and intersecting parts.
The output wires may be nonmanifold and contain free and multiconnected vertices.
Parameters: <theEdges>  input edges;
<theWires>  output wires;
<theShared>  boolean flag which defines whether the input edges are already shared or have to be intersected;
<theAngTol>  the angular tolerance which will be used for distinguishing the planes in which the edges are located. Default value is 1.e8 which is used for intersection of planes in IntTools_FaceFace.
Method returns the following error statuses:
0  in case of success (at least one wire has been built);
1  in case there are no edges in the given shape;
2  sharing of the edges has failed.

inlinestatic 
Fills the map with the connected entities.

static 

static 
Finds chains of intersecting vertices.

inlinestatic 
Makes the chains of the connected elements from the given connexity map.

static 

static 

static 
Creates planar faces from given planar wires.
The method does not check if the wires are really planar.
The input wires may be nonmanifold but should be shared.
The wires located in the same planes and included into other wires will create holes in the faces built from outer wires.
The tolerance values of the input shapes may be modified during the operation due to projection of the edges on the planes for creation of 2D curves.
Parameters: <theWires>  the given wires;
<theFaces>  the output faces;
<theAngTol>  the angular tolerance for distinguishing the planes in which the wires are located. Default value is 1.e8 which is used for intersection of planes in IntTools_FaceFace.
Method returns TRUE in case of success, i.e. at least one face has been built.