4e57c75e |
1 | -- Created by: Peter KURNEV |
973c2be1 |
2 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
4e57c75e |
3 | -- |
973c2be1 |
4 | -- This file is part of Open CASCADE Technology software library. |
4e57c75e |
5 | -- |
d5f74e42 |
6 | -- This library is free software; you can redistribute it and/or modify it under |
7 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
8 | -- by the Free Software Foundation, with special exception defined in the file |
9 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
10 | -- distribution for complete text of the license and disclaimer of any warranty. |
4e57c75e |
11 | -- |
973c2be1 |
12 | -- Alternatively, this file may be used under the terms of Open CASCADE |
13 | -- commercial license or contractual agreement. |
4e57c75e |
14 | |
15 | class SubIterator from BOPDS |
16 | |
17 | ---Purpose: |
18 | -- The class BOPDS_SubIterator is |
19 | -- 1.to compute intersections between two sub-sets of |
20 | -- BRep sub-shapes |
21 | -- of arguments of an operation (see the class BOPDS_DS) |
22 | -- in terms of theirs bounding boxes |
23 | -- 2.provides interface to iterare the pairs of |
24 | -- intersected sub-shapes of given type |
25 | |
26 | uses |
27 | ShapeEnum from TopAbs, |
28 | BaseAllocator from BOPCol, |
29 | ListOfInteger from BOPCol, |
30 | PListOfInteger from BOPCol, |
31 | DS from BOPDS, |
32 | PDS from BOPDS, |
33 | PassKeyBoolean from BOPDS, |
34 | ListOfPassKeyBoolean from BOPDS, |
35 | ListIteratorOfListOfPassKeyBoolean from BOPDS, |
36 | VectorOfListOfPassKeyBoolean from BOPDS |
37 | |
38 | |
39 | --raises |
40 | |
41 | is |
42 | Create |
43 | returns SubIterator from BOPDS; |
44 | ---C++: alias "Standard_EXPORT virtual ~BOPDS_SubIterator();" |
45 | ---Purpose: |
46 | --- Empty contructor |
47 | --- |
48 | |
49 | Create (theAllocator: BaseAllocator from BOPCol) |
50 | returns SubIterator from BOPDS; |
51 | ---Purpose: |
52 | --- Contructor |
53 | --- theAllocator - the allocator to manage the memory |
54 | --- |
55 | |
56 | SetDS(me:out; |
57 | pDS:PDS from BOPDS); |
58 | ---Purpose: |
59 | --- Modifier |
60 | --- Sets the data structure <pDS> to process |
61 | |
62 | DS(me) |
63 | returns DS from BOPDS; |
64 | ---C++:return const & |
65 | ---Purpose: |
66 | --- Selector |
67 | --- Returns the data structure |
68 | |
69 | SetSubSet1(me:out; |
70 | theLI:ListOfInteger from BOPCol); |
71 | ---Purpose: |
72 | --- Modifier |
73 | --- Sets the first set of indices <theLI> to process |
74 | |
75 | SubSet1(me) |
76 | returns ListOfInteger from BOPCol; |
77 | ---C++:return const & |
78 | ---Purpose: |
79 | --- Selector |
80 | --- Returns the first set of indices to process |
81 | |
82 | SetSubSet2(me:out; |
83 | theLI:ListOfInteger from BOPCol); |
84 | ---Purpose: |
85 | --- Modifier |
86 | --- Sets the second set of indices <theLI> to process |
87 | SubSet2(me) |
88 | returns ListOfInteger from BOPCol; |
89 | ---C++:return const & |
90 | ---Purpose: |
91 | --- Selector |
92 | --- Returns the second set of indices to process |
93 | |
94 | Initialize(me:out); |
95 | ---Purpose: |
96 | --- Initializes the iterator |
97 | |
98 | More(me) |
99 | returns Boolean from Standard; |
100 | ---Purpose: |
101 | --- Returns true if still there are pairs |
102 | -- of intersected shapes |
103 | |
104 | Next(me:out); |
105 | ---Purpose: |
106 | --- Moves iterations ahead |
107 | |
108 | Value(me; |
109 | theIndex1:out Integer from Standard; |
110 | theIndex2:out Integer from Standard); |
111 | ---Purpose: |
112 | --- Returns indices (DS) of intersected shapes |
113 | --- theIndex1 - the index of the first shape |
114 | --- theIndex2 - the index of the second shape |
115 | |
116 | Prepare(me:out) |
117 | is virtual; |
118 | ---Purpose: |
119 | --- Perform the intersection algorithm and prepare |
120 | --- the results to be used |
121 | |
122 | Intersect(me:out) |
123 | is virtual protected; |
124 | |
125 | |
126 | fields |
127 | myAllocator: BaseAllocator from BOPCol is protected; |
128 | myDS : PDS from BOPDS is protected; |
129 | myList : ListOfPassKeyBoolean from BOPDS is protected; |
130 | myIterator : ListIteratorOfListOfPassKeyBoolean from BOPDS is protected; |
131 | mySubSet1 : PListOfInteger from BOPCol is protected; |
132 | mySubSet2 : PListOfInteger from BOPCol is protected; |
133 | |
134 | end SubIterator; |