Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes
BOPDS_SubIterator Class Reference

The class BOPDS_SubIterator is used to compute intersections between bounding boxes of two sub-sets of BRep sub-shapes of arguments of an operation (see the class BOPDS_DS). The class provides interface to iterate the pairs of intersected sub-shapes. More...

#include <BOPDS_SubIterator.hxx>

Public Member Functions

 BOPDS_SubIterator ()
 Empty constructor.
 
virtual ~BOPDS_SubIterator ()
 
 BOPDS_SubIterator (const occ::handle< NCollection_BaseAllocator > &theAllocator)
 Constructor theAllocator - the allocator to manage the memory.
 
void SetDS (const BOPDS_PDS &pDS)
 Sets the data structure <pDS> to process. It is used to access the shapes and their bounding boxes.
 
const BOPDS_DSDS () const
 Returns the data structure.
 
void SetSubSet1 (const NCollection_List< int > &theLI)
 Sets the first set of indices <theLI> to process.
 
const NCollection_List< int > & SubSet1 () const
 Returns the first set of indices to process.
 
void SetSubSet2 (const NCollection_List< int > &theLI)
 Sets the second set of indices <theLI> to process.
 
const NCollection_List< int > & SubSet2 () const
 Returns the second set of indices to process.
 
void Initialize ()
 Initializes the iterator.
 
bool More () const
 Returns true if there are more pairs of intersected shapes.
 
void Next ()
 Moves iterations ahead.
 
void Value (int &theIndex1, int &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 ()
 Perform the intersection algorithm and prepare the results to be used.
 
int ExpectedLength () const
 Returns the number of interfering pairs.
 

Protected Member Functions

virtual void Intersect ()
 Performs intersection of bounding boxes.
 

Protected Attributes

occ::handle< NCollection_BaseAllocatormyAllocator
 
BOPDS_PDS myDS
 
NCollection_DynamicArray< BOPDS_PairmyList
 
NCollection_DynamicArray< BOPDS_Pair >::Iterator myIterator
 
NCollection_List< int > * mySubSet1
 
NCollection_List< int > * mySubSet2
 

Detailed Description

The class BOPDS_SubIterator is used to compute intersections between bounding boxes of two sub-sets of BRep sub-shapes of arguments of an operation (see the class BOPDS_DS). The class provides interface to iterate the pairs of intersected sub-shapes.

Constructor & Destructor Documentation

◆ BOPDS_SubIterator() [1/2]

BOPDS_SubIterator::BOPDS_SubIterator ( )

Empty constructor.

◆ ~BOPDS_SubIterator()

virtual BOPDS_SubIterator::~BOPDS_SubIterator ( )
virtual

◆ BOPDS_SubIterator() [2/2]

BOPDS_SubIterator::BOPDS_SubIterator ( const occ::handle< NCollection_BaseAllocator > & theAllocator)

Constructor theAllocator - the allocator to manage the memory.

Member Function Documentation

◆ DS()

const BOPDS_DS & BOPDS_SubIterator::DS ( ) const
inline

Returns the data structure.

◆ ExpectedLength()

int BOPDS_SubIterator::ExpectedLength ( ) const
inline

Returns the number of interfering pairs.

◆ Initialize()

void BOPDS_SubIterator::Initialize ( )

Initializes the iterator.

◆ Intersect()

virtual void BOPDS_SubIterator::Intersect ( )
protectedvirtual

Performs intersection of bounding boxes.

◆ More()

bool BOPDS_SubIterator::More ( ) const
inline

Returns true if there are more pairs of intersected shapes.

◆ Next()

void BOPDS_SubIterator::Next ( )
inline

Moves iterations ahead.

◆ Prepare()

virtual void BOPDS_SubIterator::Prepare ( )
virtual

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

◆ SetDS()

void BOPDS_SubIterator::SetDS ( const BOPDS_PDS & pDS)
inline

Sets the data structure <pDS> to process. It is used to access the shapes and their bounding boxes.

◆ SetSubSet1()

void BOPDS_SubIterator::SetSubSet1 ( const NCollection_List< int > & theLI)
inline

Sets the first set of indices <theLI> to process.

◆ SetSubSet2()

void BOPDS_SubIterator::SetSubSet2 ( const NCollection_List< int > & theLI)
inline

Sets the second set of indices <theLI> to process.

◆ SubSet1()

const NCollection_List< int > & BOPDS_SubIterator::SubSet1 ( ) const
inline

Returns the first set of indices to process.

◆ SubSet2()

const NCollection_List< int > & BOPDS_SubIterator::SubSet2 ( ) const
inline

Returns the second set of indices to process.

◆ Value()

void BOPDS_SubIterator::Value ( int & theIndex1,
int & 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

occ::handle<NCollection_BaseAllocator> BOPDS_SubIterator::myAllocator
protected

◆ myDS

BOPDS_PDS BOPDS_SubIterator::myDS
protected

◆ myIterator

NCollection_DynamicArray<BOPDS_Pair>::Iterator BOPDS_SubIterator::myIterator
protected

◆ myList

NCollection_DynamicArray<BOPDS_Pair> BOPDS_SubIterator::myList
protected

◆ mySubSet1

NCollection_List<int>* BOPDS_SubIterator::mySubSet1
protected

◆ mySubSet2

NCollection_List<int>* BOPDS_SubIterator::mySubSet2
protected

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