4e57c75e |
1 | -- Created on: 2004-09-03 |
2 | -- Created by: Oleg FEDYAEV |
3 | -- Copyright (c) 2004-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 | |
20 | |
21 | class ArgumentAnalyzer from BOPAlgo |
22 | ---Purpose: check the validity of argument(s) for Boolean Operations |
23 | |
24 | uses |
25 | Shape from TopoDS, |
26 | Operation from BOPAlgo, |
27 | CheckStatus from BOPAlgo, |
28 | ShapeEnum from TopAbs, |
29 | ListOfCheckResult from BOPAlgo |
30 | |
31 | is |
32 | Create |
33 | returns ArgumentAnalyzer; |
34 | ---Purpose: empty constructor |
35 | |
36 | SetShape1(me: in out; TheShape: Shape from TopoDS); |
37 | ---Purpose: sets object shape |
38 | |
39 | SetShape2(me: in out; TheShape: Shape from TopoDS); |
40 | ---Purpose: sets tool shape |
41 | |
42 | GetShape1(me) |
43 | returns Shape from TopoDS; |
44 | ---C++: return const & |
45 | ---Purpose: returns object shape; |
46 | |
47 | GetShape2(me) |
48 | returns Shape from TopoDS; |
49 | ---C++: return const & |
50 | ---Purpose: returns tool shape |
51 | |
52 | ---options |
53 | OperationType(me: in out) |
54 | returns Operation from BOPAlgo; |
55 | ---C++: return & |
56 | ---Purpose: returns ref |
57 | |
58 | StopOnFirstFaulty(me: in out) |
59 | returns Boolean from Standard; |
60 | ---C++: return & |
61 | ---Purpose: returns ref |
62 | |
63 | ArgumentTypeMode(me: in out) |
64 | returns Boolean from Standard; |
65 | ---C++: return & |
66 | ---C++: inline |
67 | ---Purpose: Returns (modifiable) mode |
68 | -- that means checking types of shapes. |
69 | |
70 | Prepare(me: in out) |
71 | is protected; |
72 | ---Purpose: Prepares data; |
73 | |
74 | SelfInterMode(me: in out) |
75 | returns Boolean from Standard; |
76 | ---C++: return & |
77 | ---C++: inline |
78 | ---Purpose: Returns (modifiable) mode that means |
79 | -- checking of self-intersection of shapes. |
80 | |
81 | SmallEdgeMode(me: in out) |
82 | returns Boolean from Standard; |
83 | ---C++: return & |
84 | ---C++: inline |
85 | ---Purpose: Returns (modifiable) mode that means |
86 | -- checking of small edges. |
87 | |
88 | RebuildFaceMode(me: in out) |
89 | returns Boolean from Standard; |
90 | ---C++: return & |
91 | ---C++: inline |
92 | ---Purpose: Returns (modifiable) mode that means |
93 | -- checking of possibility to split or rebuild faces. |
94 | |
95 | TangentMode(me: in out) |
96 | returns Boolean from Standard; |
97 | ---C++: return & |
98 | ---C++: inline |
99 | ---Purpose: Returns (modifiable) mode that means |
100 | -- checking of tangency between subshapes. |
101 | |
102 | MergeVertexMode(me: in out) |
103 | returns Boolean from Standard; |
104 | ---C++: return & |
105 | ---C++: inline |
106 | ---Purpose: Returns (modifiable) mode that means |
107 | -- checking of problem of merging vertices. |
108 | |
109 | MergeEdgeMode(me: in out) |
110 | returns Boolean from Standard; |
111 | ---C++: return & |
112 | ---C++: inline |
113 | ---Purpose: Returns (modifiable) mode that means |
114 | -- checking of problem of merging edges. |
115 | |
0e09ee8e |
116 | ContinuityMode(me: in out) |
117 | returns Boolean from Standard; |
118 | ---C++: return & |
119 | ---C++: inline |
120 | ---Purpose: Returns (modifiable) mode that means |
121 | -- checking of problem of continuity of the shape. |
122 | |
4e57c75e |
123 | --- |
124 | Perform(me: out); |
125 | ---Purpose: performs analysis |
126 | |
127 | HasFaulty(me) |
128 | returns Boolean from Standard; |
129 | ---Purpose: result of test |
130 | |
131 | GetCheckResult(me) |
132 | returns ListOfCheckResult from BOPAlgo; |
133 | ---C++: return const & |
134 | ---Purpose: returns a result of test |
135 | |
136 | --- protected |
137 | TestTypes(me: out) |
138 | is protected; |
139 | |
140 | TestSelfInterferences(me: out) |
141 | is protected; |
142 | |
143 | TestSmallEdge(me: out) |
144 | is protected; |
145 | |
146 | TestRebuildFace(me: out) |
147 | is protected; |
148 | |
149 | TestTangent(me: out) |
150 | is protected; |
151 | |
152 | TestMergeSubShapes(me: out; theType: ShapeEnum from TopAbs) |
153 | is protected; |
154 | |
155 | TestMergeVertex(me: out) |
156 | is protected; |
157 | |
158 | TestMergeEdge(me: out) |
159 | is protected; |
160 | |
0e09ee8e |
161 | TestContinuity(me: out) |
162 | is protected; |
163 | |
164 | -- TestMergeFace(me: out) |
165 | -- is protected; |
4e57c75e |
166 | |
167 | |
168 | fields |
169 | |
170 | myShape1 : Shape from TopoDS; |
171 | myShape2 : Shape from TopoDS; |
172 | myStopOnFirst : Boolean from Standard; |
173 | myOperation : Operation from BOPAlgo; |
174 | myArgumentTypeMode : Boolean from Standard; |
175 | mySelfInterMode : Boolean from Standard; |
176 | mySmallEdgeMode : Boolean from Standard; |
177 | myRebuildFaceMode : Boolean from Standard; |
178 | myTangentMode : Boolean from Standard; |
179 | myMergeVertexMode : Boolean from Standard; |
0e09ee8e |
180 | myMergeEdgeMode : Boolean from Standard; |
181 | myContinuityMode : Boolean from Standard; |
4e57c75e |
182 | myEmpty1,myEmpty2 : Boolean from Standard; |
183 | myResult : ListOfCheckResult from BOPAlgo; |
184 | |
185 | |
186 | end ArgumentAnalyzer; |