1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _BOPDS_SubIterator_HeaderFile
#define _BOPDS_SubIterator_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <BOPCol_BaseAllocator.hxx>
#include <BOPDS_PDS.hxx>
#include <BOPDS_ListOfPassKeyBoolean.hxx>
#include <BOPDS_ListIteratorOfListOfPassKeyBoolean.hxx>
#include <BOPCol_PListOfInteger.hxx>
#include <BOPCol_ListOfInteger.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
class BOPDS_DS;
//! The class BOPDS_SubIterator is
//! 1.to compute intersections between two sub-sets of
//! 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
class BOPDS_SubIterator
{
public:
DEFINE_STANDARD_ALLOC
//! Empty contructor
Standard_EXPORT BOPDS_SubIterator();
Standard_EXPORT virtual ~BOPDS_SubIterator();
//! Contructor
//! theAllocator - the allocator to manage the memory
Standard_EXPORT BOPDS_SubIterator(const BOPCol_BaseAllocator& theAllocator);
//! Modifier
//! Sets the data structure <pDS> to process
Standard_EXPORT void SetDS (const BOPDS_PDS& pDS) ;
//! Selector
//! Returns the data structure
Standard_EXPORT const BOPDS_DS& DS() const;
//! Modifier
//! Sets the first set of indices <theLI> to process
Standard_EXPORT void SetSubSet1 (const BOPCol_ListOfInteger& theLI) ;
//! Selector
//! Returns the first set of indices to process
Standard_EXPORT const BOPCol_ListOfInteger& SubSet1() const;
//! Modifier
//! Sets the second set of indices <theLI> to process
Standard_EXPORT void SetSubSet2 (const BOPCol_ListOfInteger& theLI) ;
//! Selector
//! Returns the second set of indices to process
Standard_EXPORT const BOPCol_ListOfInteger& SubSet2() const;
//! Initializes the iterator
Standard_EXPORT void Initialize() ;
//! Returns true if still there are pairs
//! of intersected shapes
Standard_EXPORT Standard_Boolean More() const;
//! Moves iterations ahead
Standard_EXPORT void Next() ;
//! Returns indices (DS) of intersected shapes
//! theIndex1 - the index of the first shape
//! theIndex2 - the index of the second shape
Standard_EXPORT void Value (Standard_Integer& theIndex1, Standard_Integer& theIndex2) const;
//! Perform the intersection algorithm and prepare
//! the results to be used
Standard_EXPORT virtual void Prepare() ;
protected:
Standard_EXPORT virtual void Intersect() ;
BOPCol_BaseAllocator myAllocator;
BOPDS_PDS myDS;
BOPDS_ListOfPassKeyBoolean myList;
BOPDS_ListIteratorOfListOfPassKeyBoolean myIterator;
BOPCol_PListOfInteger mySubSet1;
BOPCol_PListOfInteger mySubSet2;
private:
};
#endif // _BOPDS_SubIterator_HeaderFile
|