Open CASCADE Technology 6.5.2
Public Member Functions | Protected Member Functions | Protected Attributes
BOPTools_IteratorOfCoupleOfShape Class Reference

The class IteratorOfCoupleOfShape provides the iteration
on the couples of shapes stored in ShapesDataStructure
according to the given types of shapes and
status of their intersection.
The statuses are stored in 2 dimension array.

#include <BOPTools_IteratorOfCoupleOfShape.hxx>

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 BOPTools_IteratorOfCoupleOfShape ()
 Empty Constructor

 BOPTools_IteratorOfCoupleOfShape (const BooleanOperations_PShapesDataStructure &PDS, const TopAbs_ShapeEnum Type1, const TopAbs_ShapeEnum Type2)
 Initializes iterator by ShapesDataStructure and
shape types

virtual void Destroy ()
virtual ~BOPTools_IteratorOfCoupleOfShape ()
virtual void Initialize (const TopAbs_ShapeEnum Type1, const TopAbs_ShapeEnum Type2)
 Initializes iterator with shape types.
The iterator uses PDS assigned in constructor or in SetDataStructure().
Raises the exception if myPDS is null.

void SetDataStructure (const BooleanOperations_PShapesDataStructure &PDS)
 Initialize iterator with ShapeDataStructure.

virtual Standard_Boolean More () const
 Returns True if there are still not
treated couples of shapes

virtual void Next ()
 Moves to the next couple of iteration

virtual void Current (Standard_Integer &Index1, Standard_Integer &Index2, Standard_Boolean &WithSubShape) const
 Returns current couple of indices and
flag WithSubShape which is true
if bounding boxes of subshapes
are intersected

const
BOPTools_ListOfCoupleOfInteger
ListOfCouple () const
 Returns a list of couples of shape indices
according to shape types by which
the iterator was initialized

void SetIntersectionStatus (const Standard_Integer Index1, const Standard_Integer Index2, const BOPTools_IntersectionStatus theStatus)
 Sets status to array according to Index1 and Index2

const
Handle_BOPTools_HArray2OfIntersectionStatus & 
GetTableOfIntersectionStatus () const
 Returns 2 dimension array of intersection statuses

void DumpTableOfIntersectionStatus () const
 For internal use

Protected Member Functions

Standard_Boolean MoreP () const
void NextP ()
void CurrentP (Standard_Integer &Index1, Standard_Integer &Index2) const

Protected Attributes

BooleanOperations_PShapesDataStructure myPDS
Handle_BOPTools_HArray2OfIntersectionStatus myTableOfStatus
Standard_Integer myCurrentIndex1
Standard_Integer myCurrentIndex2
TopAbs_ShapeEnum myType1
TopAbs_ShapeEnum myType2
Standard_Integer myFirstLowerIndex
Standard_Integer myFirstUpperIndex
Standard_Integer mySecondLowerIndex
Standard_Integer mySecondUpperIndex
BOPTools_ListOfCoupleOfInteger myListOfCouple
BOPTools_ListIteratorOfListOfCoupleOfInteger myIterator

Constructor & Destructor Documentation

BOPTools_IteratorOfCoupleOfShape::BOPTools_IteratorOfCoupleOfShape ( )
BOPTools_IteratorOfCoupleOfShape::BOPTools_IteratorOfCoupleOfShape ( const BooleanOperations_PShapesDataStructure PDS,
const TopAbs_ShapeEnum  Type1,
const TopAbs_ShapeEnum  Type2 
)
virtual BOPTools_IteratorOfCoupleOfShape::~BOPTools_IteratorOfCoupleOfShape ( ) [inline, virtual]

Member Function Documentation

virtual void BOPTools_IteratorOfCoupleOfShape::Current ( Standard_Integer Index1,
Standard_Integer Index2,
Standard_Boolean WithSubShape 
) const [virtual]
void BOPTools_IteratorOfCoupleOfShape::CurrentP ( Standard_Integer Index1,
Standard_Integer Index2 
) const [protected]
virtual void BOPTools_IteratorOfCoupleOfShape::Destroy ( ) [virtual]
void BOPTools_IteratorOfCoupleOfShape::DumpTableOfIntersectionStatus ( ) const
const Handle_BOPTools_HArray2OfIntersectionStatus& BOPTools_IteratorOfCoupleOfShape::GetTableOfIntersectionStatus ( ) const
virtual void BOPTools_IteratorOfCoupleOfShape::Initialize ( const TopAbs_ShapeEnum  Type1,
const TopAbs_ShapeEnum  Type2 
) [virtual]
const BOPTools_ListOfCoupleOfInteger& BOPTools_IteratorOfCoupleOfShape::ListOfCouple ( ) const
virtual Standard_Boolean BOPTools_IteratorOfCoupleOfShape::More ( ) const [virtual]
Standard_Boolean BOPTools_IteratorOfCoupleOfShape::MoreP ( ) const [protected]
virtual void BOPTools_IteratorOfCoupleOfShape::Next ( ) [virtual]
void BOPTools_IteratorOfCoupleOfShape::NextP ( ) [protected]
void BOPTools_IteratorOfCoupleOfShape::operator delete ( void *  anAddress) [inline]
void* BOPTools_IteratorOfCoupleOfShape::operator new ( size_t  size) [inline]
void* BOPTools_IteratorOfCoupleOfShape::operator new ( size_t  ,
void *  anAddress 
) [inline]
void BOPTools_IteratorOfCoupleOfShape::SetDataStructure ( const BooleanOperations_PShapesDataStructure PDS)
void BOPTools_IteratorOfCoupleOfShape::SetIntersectionStatus ( const Standard_Integer  Index1,
const Standard_Integer  Index2,
const BOPTools_IntersectionStatus  theStatus 
)

Field Documentation

Handle_BOPTools_HArray2OfIntersectionStatus BOPTools_IteratorOfCoupleOfShape::myTableOfStatus [protected]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines