Open CASCADE Technology  7.2.0
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. More...
 
virtual ~BOPDS_SubIterator ()
 
 BOPDS_SubIterator (const BOPCol_BaseAllocator &theAllocator)
 Constructor theAllocator - the allocator to manage the memory. More...
 
void SetDS (const BOPDS_PDS &pDS)
 Sets the data structure <pDS> to process. It is used to access the shapes and their bounding boxes. More...
 
const BOPDS_DSDS () const
 Returns the data structure. More...
 
void SetSubSet1 (const BOPCol_ListOfInteger &theLI)
 Sets the first set of indices <theLI> to process. More...
 
const BOPCol_ListOfIntegerSubSet1 () const
 Returns the first set of indices to process. More...
 
void SetSubSet2 (const BOPCol_ListOfInteger &theLI)
 Sets the second set of indices <theLI> to process. More...
 
const BOPCol_ListOfIntegerSubSet2 () const
 Returns the second set of indices to process. More...
 
void Initialize ()
 Initializes the iterator. More...
 
Standard_Boolean More () const
 Returns true if there are more 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 ()
 Perform the intersection algorithm and prepare the results to be used. More...
 
Standard_Integer ExpectedLength () const
 Returns the number of interfering pairs. More...
 

Protected Member Functions

virtual void Intersect ()
 Performs intersection of bounding boxes. More...
 

Protected Attributes

BOPCol_BaseAllocator myAllocator
 
BOPDS_PDS myDS
 
BOPDS_VectorOfPair myList
 
BOPDS_VectorOfPair::Iterator myIterator
 
BOPCol_PListOfInteger mySubSet1
 
BOPCol_PListOfInteger 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 BOPCol_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()

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

Standard_Boolean BOPDS_SubIterator::More ( void  ) const
inline

Returns true if there are more pairs of intersected shapes.

◆ Next()

void BOPDS_SubIterator::Next ( void  )
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 BOPCol_ListOfInteger theLI)
inline

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

◆ SetSubSet2()

void BOPDS_SubIterator::SetSubSet2 ( const BOPCol_ListOfInteger theLI)
inline

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

◆ SubSet1()

const BOPCol_ListOfInteger& BOPDS_SubIterator::SubSet1 ( ) const
inline

Returns the first set of indices to process.

◆ SubSet2()

const BOPCol_ListOfInteger& BOPDS_SubIterator::SubSet2 ( ) const
inline

Returns the second set of indices to process.

◆ Value()

void BOPDS_SubIterator::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

BOPCol_BaseAllocator BOPDS_SubIterator::myAllocator
protected

◆ myDS

BOPDS_PDS BOPDS_SubIterator::myDS
protected

◆ myIterator

BOPDS_VectorOfPair::Iterator BOPDS_SubIterator::myIterator
protected

◆ myList

BOPDS_VectorOfPair BOPDS_SubIterator::myList
protected

◆ mySubSet1

BOPCol_PListOfInteger BOPDS_SubIterator::mySubSet1
protected

◆ mySubSet2

BOPCol_PListOfInteger BOPDS_SubIterator::mySubSet2
protected

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