File: BOPDS_SubIterator.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (134 lines) | stat: -rw-r--r-- 3,169 bytes parent folder | download | duplicates (5)
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