Open CASCADE Technology  7.3.0
Public Member Functions | Protected Member Functions | Protected Attributes

BOPDS_Iterator Class Reference

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 iterare the pairs of intersected sub-shapes of given type. More...

#include <BOPDS_Iterator.hxx>

Inheritance diagram for BOPDS_Iterator:
Inheritance graph
[legend]

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_DSDS () 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...
 
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...
 

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())
 

Protected Attributes

Handle< NCollection_BaseAllocatormyAllocator
 
Standard_Integer myLength
 
BOPDS_PDS myDS
 
BOPDS_VectorOfVectorOfPair myLists
 
BOPDS_VectorOfPair::Iterator myIterator
 
Standard_Boolean myRunParallel
 

Detailed Description

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 iterare the pairs of intersected sub-shapes of given type.

Constructor & Destructor Documentation

◆ BOPDS_Iterator() [1/2]

BOPDS_Iterator::BOPDS_Iterator ( )

Empty contructor.

◆ ~BOPDS_Iterator()

virtual BOPDS_Iterator::~BOPDS_Iterator ( )
virtual

◆ BOPDS_Iterator() [2/2]

BOPDS_Iterator::BOPDS_Iterator ( const Handle< NCollection_BaseAllocator > &  theAllocator)

Contructor theAllocator - the allocator to manage the memory.

Member Function Documentation

◆ BlockLength()

Standard_Integer BOPDS_Iterator::BlockLength ( ) const

Returns the block length.

◆ DS()

const BOPDS_DS& BOPDS_Iterator::DS ( ) const

Selector Returns the data structure.

◆ ExpectedLength()

Standard_Integer BOPDS_Iterator::ExpectedLength ( ) const

Returns the number of intersections founded.

◆ Initialize()

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.

◆ Intersect()

virtual void BOPDS_Iterator::Intersect ( const Handle< IntTools_Context > &  theCtx = HandleIntTools_Context >(),
const Standard_Boolean  theCheckOBB = Standard_False,
const Standard_Real  theFuzzyValue = Precision::Confusion() 
)
protectedvirtual

Reimplemented in BOPDS_IteratorSI.

◆ More()

Standard_Boolean BOPDS_Iterator::More ( ) const

Returns true if still there are pairs of intersected shapes.

◆ Next()

void BOPDS_Iterator::Next ( )

Moves iterations ahead.

◆ Prepare()

virtual void BOPDS_Iterator::Prepare ( const Handle< IntTools_Context > &  theCtx = HandleIntTools_Context >(),
const Standard_Boolean  theCheckOBB = Standard_False,
const Standard_Real  theFuzzyValue = Precision::Confusion() 
)
virtual

Perform the intersection algorithm and prepare the results to be used.

◆ RunParallel()

Standard_Boolean BOPDS_Iterator::RunParallel ( ) const

Returns the flag of parallel processing.

◆ SetDS()

void BOPDS_Iterator::SetDS ( const BOPDS_PDS pDS)

Modifier Sets the data structure <pDS> to process.

◆ SetRunParallel()

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.

◆ Value()

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.

Field Documentation

◆ myAllocator

Handle< NCollection_BaseAllocator > BOPDS_Iterator::myAllocator
protected

◆ myDS

BOPDS_PDS BOPDS_Iterator::myDS
protected

◆ myIterator

BOPDS_VectorOfPair::Iterator BOPDS_Iterator::myIterator
protected

◆ myLength

Standard_Integer BOPDS_Iterator::myLength
protected

◆ myLists

BOPDS_VectorOfVectorOfPair BOPDS_Iterator::myLists
protected

◆ myRunParallel

Standard_Boolean BOPDS_Iterator::myRunParallel
protected

The documentation for this class was generated from the following file: