Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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

DEFINE_STANDARD_ALLOC 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


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]
const Handle_BOPTools_HArray2OfIntersectionStatus& BOPTools_IteratorOfCoupleOfShape::GetTableOfIntersectionStatus ( ) const

Field Documentation

Handle_BOPTools_HArray2OfIntersectionStatus BOPTools_IteratorOfCoupleOfShape::myTableOfStatus [protected]

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