0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPDS / BOPDS_SubIterator.cdl
CommitLineData
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
15class 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
26uses
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
41is
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
126fields
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
134end SubIterator;