| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
The class BOPDS_IteratorSI is 1.to compute self-intersections between BRep sub-shapes of each argument of an operation (see the class BOPDS_DS) in terms of theirs bounding boxes 2.provides interface to iterare the pairs of intersected sub-shapes of given type. More...
#include <BOPDS_IteratorSI.hxx>

Public Member Functions | |
| BOPDS_IteratorSI () | |
| Empty constructor.   | |
| virtual | ~BOPDS_IteratorSI () | 
| BOPDS_IteratorSI (const Handle< NCollection_BaseAllocator > &theAllocator) | |
| Constructor.   | |
| void | UpdateByLevelOfCheck (const Standard_Integer theLevel) | 
| Updates the lists of possible intersections according to the value of <theLevel>. It defines which interferferences will be checked: 0 - only V/V; 1 - V/V and V/E; 2 - V/V, V/E and E/E; 3 - V/V, V/E, E/E and V/F; 4 - V/V, V/E, E/E, V/F and E/F; other - all interferences.   | |
  Public Member Functions inherited from BOPDS_Iterator | |
| BOPDS_Iterator () | |
| Empty constructor.   | |
| virtual | ~BOPDS_Iterator () | 
| BOPDS_Iterator (const Handle< NCollection_BaseAllocator > &theAllocator) | |
| Constructor.   | |
| void | SetDS (const BOPDS_PDS &pDS) | 
| Modifier Sets the data structure <pDS> to process.   | |
| const BOPDS_DS & | DS () const | 
| Selector Returns the data structure.   | |
| void | Initialize (const TopAbs_ShapeEnum theType1, const TopAbs_ShapeEnum theType2) | 
| Initializes the iterator theType1 - the first type of shape theType2 - the second type of shape.   | |
| Standard_Boolean | More () const | 
| Returns true if still there are pairs of intersected shapes.   | |
| void | Next () | 
| Moves iterations ahead.   | |
| void | Value (Standard_Integer &theIndex1, Standard_Integer &theIndex2) const | 
| Returns indices (DS) of intersected shapes theIndex1 - the index of the first shape theIndex2 - the index of the second shape.   | |
| virtual void | Prepare (const Handle< IntTools_Context > &theCtx=Handle< IntTools_Context >(), const Standard_Boolean theCheckOBB=Standard_False, const Standard_Real theFuzzyValue=Precision::Confusion()) | 
| Perform the intersection algorithm and prepare the results to be used.   | |
| void | IntersectExt (const TColStd_MapOfInteger &theIndicies) | 
| Updates the tree of Bounding Boxes with increased boxes and intersects such elements with the tree.   | |
| Standard_Integer | ExpectedLength () const | 
| Returns the number of intersections founded.   | |
| Standard_Integer | BlockLength () const | 
| Returns the block length.   | |
| void | SetRunParallel (const Standard_Boolean theFlag) | 
| Set the flag of parallel processing if <theFlag> is true the parallel processing is switched on if <theFlag> is false the parallel processing is switched off.   | |
| Standard_Boolean | RunParallel () const | 
| Returns the flag of parallel processing.   | |
Protected Member Functions | |
| virtual void | Intersect (const Handle< IntTools_Context > &theCtx=Handle< IntTools_Context >(), const Standard_Boolean theCheckOBB=Standard_False, const Standard_Real theFuzzyValue=Precision::Confusion()) override | 
| Intersects the Bounding boxes of sub-shapes of the arguments with the tree and saves the interfering pairs for further geometrical intersection.   | |
Protected methods for bounding boxes intersection  | |
Additional Inherited Members | |
  Static Public Member Functions inherited from BOPDS_Iterator | |
| static Standard_Integer | NbExtInterfs () | 
  Protected Attributes inherited from BOPDS_Iterator | |
| Handle< NCollection_BaseAllocator > | myAllocator | 
| Allocator.   | |
| Standard_Integer | myLength | 
| Length of the intersection vector of particular intersection type.   | |
| BOPDS_PDS | myDS | 
| Data Structure.   | |
| BOPDS_VectorOfVectorOfPair | myLists | 
| Pairs with interfering bounding boxes.   | |
| BOPDS_VectorOfPair::Iterator | myIterator | 
| Iterator on each interfering type.   | |
| Standard_Boolean | myRunParallel | 
| Flag for parallel processing.   | |
| BOPDS_VectorOfVectorOfPair | myExtLists | 
| Extra pairs of sub-shapes found after intersection of increased sub-shapes.   | |
| Standard_Boolean | myUseExt | 
| Information flag for using the extra lists.   | |
The class BOPDS_IteratorSI is 1.to compute self-intersections between BRep sub-shapes of each argument of an operation (see the class BOPDS_DS) in terms of theirs bounding boxes 2.provides interface to iterare the pairs of intersected sub-shapes of given type.
| BOPDS_IteratorSI::BOPDS_IteratorSI | ( | ) | 
Empty constructor.
      
  | 
  virtual | 
| BOPDS_IteratorSI::BOPDS_IteratorSI | ( | const Handle< NCollection_BaseAllocator > & | theAllocator | ) | 
Constructor.
| theAllocator | the allocator to manage the memory | 
      
  | 
  overrideprotectedvirtual | 
Intersects the Bounding boxes of sub-shapes of the arguments with the tree and saves the interfering pairs for further geometrical intersection.
Reimplemented from BOPDS_Iterator.
| void BOPDS_IteratorSI::UpdateByLevelOfCheck | ( | const Standard_Integer | theLevel | ) | 
Updates the lists of possible intersections according to the value of <theLevel>. It defines which interferferences will be checked: 0 - only V/V; 1 - V/V and V/E; 2 - V/V, V/E and E/E; 3 - V/V, V/E, E/E and V/F; 4 - V/V, V/E, E/E, V/F and E/F; other - all interferences.