b311480e |
1 | -- Created on: 2001-01-26 |
2 | -- Created by: Peter KURNEV |
3 | -- Copyright (c) 2001-2012 OPEN CASCADE SAS |
4 | -- |
5 | -- The content of this file is subject to the Open CASCADE Technology Public |
6 | -- License Version 6.5 (the "License"). You may not use the content of this file |
7 | -- except in compliance with the License. Please obtain a copy of the License |
8 | -- at http://www.opencascade.org and read it completely before using this file. |
9 | -- |
10 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
11 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
12 | -- |
13 | -- The Original Code and all software distributed under the License is |
14 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
15 | -- Initial Developer hereby disclaims all such warranties, including without |
16 | -- limitation, any warranties of merchantability, fitness for a particular |
17 | -- purpose or non-infringement. Please see the License for the specific terms |
18 | -- and conditions governing the rights and limitations under the License. |
19 | |
7fd59977 |
20 | |
21 | |
22 | class InterferencePool from BOPTools |
23 | |
24 | ---Purpose: |
25 | -- Class for storing information about |
26 | --- results of all interferences for all shapes |
27 | |
28 | uses |
29 | ShapesDataStructure from BooleanOperations, |
30 | PShapesDataStructure from BooleanOperations, |
31 | KindOfInterference from BooleanOperations, |
32 | |
33 | CArray1OfInterferenceLine from BOPTools, |
34 | CArray1OfSSInterference from BOPTools, |
35 | CArray1OfESInterference from BOPTools, |
36 | CArray1OfVSInterference from BOPTools, |
37 | CArray1OfEEInterference from BOPTools, |
38 | CArray1OfVEInterference from BOPTools, |
39 | CArray1OfVVInterference from BOPTools, |
40 | PShapeShapeInterference from BOPTools |
41 | is |
42 | Create |
43 | returns InterferencePool from BOPTools ; |
44 | ---Purpose: |
45 | --- Empty constructor |
46 | --- |
47 | Create (aDS:ShapesDataStructure from BooleanOperations) |
48 | returns InterferencePool from BOPTools ; |
49 | ---Purpose: |
50 | --- Constructor |
51 | --- |
52 | SetDS (me:out;aDS:ShapesDataStructure from BooleanOperations); |
53 | ---Purpose: |
54 | --- Modifier |
55 | --- |
56 | DS(me) |
57 | returns PShapesDataStructure from BooleanOperations; |
58 | ---Purpose: |
59 | --- Selector |
60 | --- |
61 | HasInterference (me; |
62 | anInd :Integer from Standard) |
63 | returns Boolean from Standard; |
64 | ---Purpose: |
65 | --- Returns TRUE if the shape with DS_index <anInd> |
66 | --- has at least one interference with non-empty result |
67 | --- |
68 | IsComputed (me; |
69 | anInd1 : Integer from Standard; |
70 | anInd2 : Integer from Standard) |
71 | returns Boolean from Standard; |
72 | ---Purpose: |
73 | --- Returns TRUE if the interference between shapes |
74 | --- <anInd1> and <anInd2> has already been computed. |
75 | --- |
76 | SortTypes (me; |
77 | anInd1:in out Integer from Standard; |
78 | anInd2:in out Integer from Standard); |
79 | ---Purpose: |
80 | --- Sorts types of shapes <anInd1> and <anInd2> in increasing order |
81 | --- |
82 | InterferenceType (me; |
83 | anInd1: Integer from Standard; |
84 | anInd2: Integer from Standard) |
85 | returns KindOfInterference from BooleanOperations; |
86 | ---Purpose: |
87 | --- Gets the type of interference in accordance with the types of |
88 | --- shapes <anInd1> and <anInd2> |
89 | --- |
90 | AddInterference (me:out; |
91 | anInd1: Integer from Standard; |
92 | anInd2: Integer from Standard; |
93 | aType: KindOfInterference from BooleanOperations; |
94 | anIndex: Integer from Standard); |
95 | ---Purpose: |
96 | --- Adds the info about interference in InterferenceLine-s for |
97 | --- shapes <anInd1> and <anInd2> |
98 | --- |
99 | InterferenceTable (me) |
100 | returns CArray1OfInterferenceLine from BOPTools; |
101 | ---C++: return const& |
102 | ---Purpose: |
103 | --- Returns the reference to complete array of interference line-s |
104 | --- |
105 | SSInterferences (me:out) |
106 | returns CArray1OfSSInterference from BOPTools; |
107 | ---C++: return & |
108 | ---Purpose: |
109 | --- Returns the reference to array Of F/F interferences |
110 | --- |
111 | ESInterferences (me:out) |
112 | returns CArray1OfESInterference from BOPTools; |
113 | ---C++: return & |
114 | ---Purpose: |
115 | --- Returns the reference to array Of E/F interferences |
116 | --- |
117 | VSInterferences (me:out) |
118 | returns CArray1OfVSInterference from BOPTools; |
119 | ---C++: return & |
120 | ---Purpose: |
121 | --- Returns the reference to array Of V/F interferences |
122 | --- |
123 | EEInterferences (me:out) |
124 | returns CArray1OfEEInterference from BOPTools; |
125 | ---C++: return & |
126 | ---Purpose: |
127 | --- Returns the reference to arrray Of E/E interferences |
128 | --- |
129 | VEInterferences (me:out) |
130 | returns CArray1OfVEInterference from BOPTools; |
131 | ---C++: return & |
132 | ---Purpose: |
133 | --- Returns the reference to arrray Of V/E interferences |
134 | --- |
135 | VVInterferences (me:out) |
136 | returns CArray1OfVVInterference from BOPTools; |
137 | ---C++: return & |
138 | ---Purpose: |
139 | --- Returns the reference to arrray Of V/V interferences |
140 | --- |
141 | -------------- |
142 | SSInterfs (me) |
143 | returns CArray1OfSSInterference from BOPTools; |
144 | ---C++: return const & |
145 | |
146 | ESInterfs (me) |
147 | returns CArray1OfESInterference from BOPTools; |
148 | ---C++: return const & |
149 | |
150 | VSInterfs (me) |
151 | returns CArray1OfVSInterference from BOPTools; |
152 | ---C++: return const & |
153 | |
154 | EEInterfs (me) |
155 | returns CArray1OfEEInterference from BOPTools; |
156 | ---C++: return const & |
157 | |
158 | VEInterfs (me) |
159 | returns CArray1OfVEInterference from BOPTools; |
160 | ---C++: return const & |
161 | |
162 | VVInterfs (me) |
163 | returns CArray1OfVVInterference from BOPTools; |
164 | ---C++: return const & |
165 | |
166 | |
167 | GetInterference (me; |
168 | anIndex: Integer from Standard; |
169 | aType : KindOfInterference from BooleanOperations) |
170 | returns PShapeShapeInterference from BOPTools; |
171 | |
172 | |
173 | fields |
174 | |
175 | myDS : PShapesDataStructure from BooleanOperations; |
176 | myNbSourceShapes : Integer from Standard; |
177 | |
178 | myInterferenceTable: CArray1OfInterferenceLine from BOPTools; |
179 | mySSInterferences : CArray1OfSSInterference from BOPTools; |
180 | myESInterferences : CArray1OfESInterference from BOPTools; |
181 | myVSInterferences : CArray1OfVSInterference from BOPTools; |
182 | myEEInterferences : CArray1OfEEInterference from BOPTools; |
183 | myVEInterferences : CArray1OfVEInterference from BOPTools; |
184 | myVVInterferences : CArray1OfVVInterference from BOPTools; |
185 | |
186 | end InterferencePool; |