|
Open CASCADE Technology
7.3.0
|
The class BOPDS_Iterator is 1.to compute intersections between BRep sub-shapes of arguments of an operation (see the class BOPDS_DS) in terms of theirs bounding boxes 2.provides interface to iterate the pairs of intersected sub-shapes of given type. More...
#include <BOPDS_Iterator.hxx>

Public Member Functions | |
| BOPDS_Iterator () | |
| Empty contructor. More... | |
| virtual | ~BOPDS_Iterator () |
| BOPDS_Iterator (const Handle< NCollection_BaseAllocator > &theAllocator) | |
| Contructor theAllocator - the allocator to manage the memory. More... | |
| void | SetDS (const BOPDS_PDS &pDS) |
| Modifier Sets the data structure <pDS> to process. More... | |
| const BOPDS_DS & | DS () const |
| Selector Returns the data structure. More... | |
| 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. More... | |
| Standard_Boolean | More () const |
| Returns true if still there are pairs of intersected shapes. More... | |
| void | Next () |
| Moves iterations ahead. More... | |
| 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. More... | |
| 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. More... | |
| void | PrepareExt (const TColStd_MapOfInteger &theIndicies) |
| Updates the tree of Bounding Boxes with increased boxes and intersects such elements with the tree. More... | |
| Standard_Integer | ExpectedLength () const |
| Returns the number of intersections founded. More... | |
| Standard_Integer | BlockLength () const |
| Returns the block length. More... | |
| 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. More... | |
| Standard_Boolean | RunParallel () const |
| Returns the flag of parallel processing. More... | |
Static Public Member Functions | |
Number of extra interfering types | |
| static Standard_Integer | NbExtInterfs () |
Protected Member Functions | |
Protected methods for bounding boxes intersection | |
| virtual void | Intersect (const Handle< IntTools_Context > &theCtx=Handle< IntTools_Context >(), const Standard_Boolean theCheckOBB=Standard_False, const Standard_Real theFuzzyValue=Precision::Confusion()) |
| Intersects the Bounding boxes of sub-shapes of the arguments with the tree and saves the interfering pairs for further geometrical intersection. More... | |
| void | IntersectExt (const TColStd_MapOfInteger &theIndices) |
| Intersects the bounding boxes of the shapes with given indices in DS with the tree of bounding boxes and saves the interfering pairs in extra lists for further geometrical intersection. More... | |
Protected Attributes | |
Fields | |
| Handle< NCollection_BaseAllocator > | myAllocator |
| Allocator. More... | |
| Standard_Integer | myLength |
| Length of the intersection vector of particular intersection type. More... | |
| BOPDS_PDS | myDS |
| Data Structure. More... | |
| BOPDS_VectorOfVectorOfPair | myLists |
| Pairs with interfering bounding boxes. More... | |
| BOPDS_VectorOfPair::Iterator | myIterator |
| Iterator on each interfering type. More... | |
| Standard_Boolean | myRunParallel |
| Flag for parallel processing. More... | |
| BOPTools_BoxBndTree | myBoxTree |
| Unbalanced tree of bounding boxes. More... | |
| BOPDS_VectorOfVectorOfPair | myExtLists |
| Extra pairs of sub-shapes found after intersection of increased sub-shapes. More... | |
| Standard_Boolean | myUseExt |
| Information flag for using the extra lists. More... | |
The class BOPDS_Iterator is 1.to compute intersections between BRep sub-shapes of arguments of an operation (see the class BOPDS_DS) in terms of theirs bounding boxes 2.provides interface to iterate the pairs of intersected sub-shapes of given type.
| BOPDS_Iterator::BOPDS_Iterator | ( | ) |
Empty contructor.
|
virtual |
| BOPDS_Iterator::BOPDS_Iterator | ( | const Handle< NCollection_BaseAllocator > & | theAllocator | ) |
Contructor theAllocator - the allocator to manage the memory.
| Standard_Integer BOPDS_Iterator::BlockLength | ( | ) | const |
Returns the block length.
| const BOPDS_DS& BOPDS_Iterator::DS | ( | ) | const |
Selector Returns the data structure.
| Standard_Integer BOPDS_Iterator::ExpectedLength | ( | ) | const |
Returns the number of intersections founded.
| void BOPDS_Iterator::Initialize | ( | const TopAbs_ShapeEnum | theType1, |
| const TopAbs_ShapeEnum | theType2 | ||
| ) |
Initializes the iterator theType1 - the first type of shape theType2 - the second type of shape.
|
protectedvirtual |
Intersects the Bounding boxes of sub-shapes of the arguments with the tree and saves the interfering pairs for further geometrical intersection.
Reimplemented in BOPDS_IteratorSI.
|
protected |
Intersects the bounding boxes of the shapes with given indices in DS with the tree of bounding boxes and saves the interfering pairs in extra lists for further geometrical intersection.
| Standard_Boolean BOPDS_Iterator::More | ( | ) | const |
Returns true if still there are pairs of intersected shapes.
|
inlinestatic |
| void BOPDS_Iterator::Next | ( | ) |
Moves iterations ahead.
|
virtual |
Perform the intersection algorithm and prepare the results to be used.
| void BOPDS_Iterator::PrepareExt | ( | const TColStd_MapOfInteger & | theIndicies | ) |
Updates the tree of Bounding Boxes with increased boxes and intersects such elements with the tree.
| Standard_Boolean BOPDS_Iterator::RunParallel | ( | ) | const |
Returns the flag of parallel processing.
| void BOPDS_Iterator::SetDS | ( | const BOPDS_PDS & | pDS | ) |
Modifier Sets the data structure <pDS> to process.
| void BOPDS_Iterator::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.
| void BOPDS_Iterator::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.
|
protected |
Allocator.
|
protected |
Unbalanced tree of bounding boxes.
|
protected |
Data Structure.
|
protected |
Extra pairs of sub-shapes found after intersection of increased sub-shapes.
|
protected |
Iterator on each interfering type.
|
protected |
Length of the intersection vector of particular intersection type.
|
protected |
Pairs with interfering bounding boxes.
|
protected |
Flag for parallel processing.
|
protected |
Information flag for using the extra lists.
1.8.14