|
Open CASCADE Technology 7.8.0
|
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.