0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPAlgo / BOPAlgo_ArgumentAnalyzer.cdl
CommitLineData
4e57c75e 1-- Created on: 2004-09-03
2-- Created by: Oleg FEDYAEV
973c2be1 3-- Copyright (c) 2004-2014 OPEN CASCADE SAS
4e57c75e 4--
973c2be1 5-- This file is part of Open CASCADE Technology software library.
4e57c75e 6--
d5f74e42 7-- This library is free software; you can redistribute it and/or modify it under
8-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 9-- by the Free Software Foundation, with special exception defined in the file
10-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11-- distribution for complete text of the license and disclaimer of any warranty.
4e57c75e 12--
973c2be1 13-- Alternatively, this file may be used under the terms of Open CASCADE
14-- commercial license or contractual agreement.
4e57c75e 15
16class ArgumentAnalyzer from BOPAlgo
b1d15f53 17 inherits Algo from BOPAlgo
4e57c75e 18 ---Purpose: check the validity of argument(s) for Boolean Operations
19
20uses
21 Shape from TopoDS,
22 Operation from BOPAlgo,
23 CheckStatus from BOPAlgo,
24 ShapeEnum from TopAbs,
b1d15f53 25 ListOfCheckResult from BOPAlgo,
26 DataMapOfShapeReal from BOPCol
4e57c75e 27
28is
29 Create
30 returns ArgumentAnalyzer;
b1d15f53 31 ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_ArgumentAnalyzer();"
4e57c75e 32 ---Purpose: empty constructor
33
34 SetShape1(me: in out; TheShape: Shape from TopoDS);
35 ---Purpose: sets object shape
36
37 SetShape2(me: in out; TheShape: Shape from TopoDS);
38 ---Purpose: sets tool shape
39
40 GetShape1(me)
41 returns Shape from TopoDS;
42 ---C++: return const &
43 ---Purpose: returns object shape;
44
45 GetShape2(me)
46 returns Shape from TopoDS;
47 ---C++: return const &
48 ---Purpose: returns tool shape
49
50 ---options
51 OperationType(me: in out)
52 returns Operation from BOPAlgo;
53 ---C++: return &
54 ---Purpose: returns ref
55
56 StopOnFirstFaulty(me: in out)
57 returns Boolean from Standard;
58 ---C++: return &
59 ---Purpose: returns ref
60
61 ArgumentTypeMode(me: in out)
62 returns Boolean from Standard;
63 ---C++: return &
64 ---C++: inline
65 ---Purpose: Returns (modifiable) mode
66 -- that means checking types of shapes.
67
68 Prepare(me: in out)
69 is protected;
70 ---Purpose: Prepares data;
71
72 SelfInterMode(me: in out)
73 returns Boolean from Standard;
74 ---C++: return &
75 ---C++: inline
76 ---Purpose: Returns (modifiable) mode that means
77 -- checking of self-intersection of shapes.
78
79 SmallEdgeMode(me: in out)
80 returns Boolean from Standard;
81 ---C++: return &
82 ---C++: inline
83 ---Purpose: Returns (modifiable) mode that means
84 -- checking of small edges.
85
86 RebuildFaceMode(me: in out)
87 returns Boolean from Standard;
88 ---C++: return &
89 ---C++: inline
90 ---Purpose: Returns (modifiable) mode that means
91 -- checking of possibility to split or rebuild faces.
92
93 TangentMode(me: in out)
94 returns Boolean from Standard;
95 ---C++: return &
96 ---C++: inline
97 ---Purpose: Returns (modifiable) mode that means
98 -- checking of tangency between subshapes.
99
100 MergeVertexMode(me: in out)
101 returns Boolean from Standard;
102 ---C++: return &
103 ---C++: inline
104 ---Purpose: Returns (modifiable) mode that means
105 -- checking of problem of merging vertices.
106
107 MergeEdgeMode(me: in out)
108 returns Boolean from Standard;
109 ---C++: return &
110 ---C++: inline
111 ---Purpose: Returns (modifiable) mode that means
112 -- checking of problem of merging edges.
113
0e09ee8e 114 ContinuityMode(me: in out)
115 returns Boolean from Standard;
116 ---C++: return &
117 ---C++: inline
118 ---Purpose: Returns (modifiable) mode that means
119 -- checking of problem of continuity of the shape.
120
e98e3990 121 CurveOnSurfaceMode(me: in out)
122 returns Boolean from Standard;
123 ---C++: return &
124 ---C++: inline
125 ---Purpose: Returns (modifiable) mode that means
126 -- checking of problem of invalid curve on surface.
127
4e57c75e 128 ---
129 Perform(me: out);
130 ---Purpose: performs analysis
131
132 HasFaulty(me)
133 returns Boolean from Standard;
134 ---Purpose: result of test
135
136 GetCheckResult(me)
137 returns ListOfCheckResult from BOPAlgo;
138 ---C++: return const &
139 ---Purpose: returns a result of test
140
141 --- protected
142 TestTypes(me: out)
143 is protected;
144
145 TestSelfInterferences(me: out)
146 is protected;
147
148 TestSmallEdge(me: out)
149 is protected;
150
151 TestRebuildFace(me: out)
152 is protected;
153
154 TestTangent(me: out)
155 is protected;
156
157 TestMergeSubShapes(me: out; theType: ShapeEnum from TopAbs)
158 is protected;
159
160 TestMergeVertex(me: out)
161 is protected;
162
163 TestMergeEdge(me: out)
164 is protected;
165
0e09ee8e 166 TestContinuity(me: out)
e98e3990 167 is protected;
168
169 TestCurveOnSurface(me: out)
0e09ee8e 170 is protected;
171
172-- TestMergeFace(me: out)
b1d15f53 173-- is protected;
4e57c75e 174
b1d15f53 175 SetFuzzyValue(me:out;
176 theFuzz : Real from Standard);
177 ---C++: inline
178 ---Purpose: Sets the additional tolerance
179
180 FuzzyValue(me)
181 returns Real from Standard;
182 ---C++: inline
183 ---Purpose: Returns the additional tolerance
184
185 UpdateTolerances(me:out)
186 is protected;
187 ---Purpose: Updates the shapes tolerance values.
188
189 SetDefaultTolerances(me:out)
190 is protected;
191 ---Purpose: Reverts the tolerance values for all entities to default values.
4e57c75e 192
193fields
194
e98e3990 195 myShape1 : Shape from TopoDS;
196 myShape2 : Shape from TopoDS;
197 myStopOnFirst : Boolean from Standard;
198 myOperation : Operation from BOPAlgo;
199 myArgumentTypeMode : Boolean from Standard;
200 mySelfInterMode : Boolean from Standard;
201 mySmallEdgeMode : Boolean from Standard;
202 myRebuildFaceMode : Boolean from Standard;
203 myTangentMode : Boolean from Standard;
204 myMergeVertexMode : Boolean from Standard;
205 myMergeEdgeMode : Boolean from Standard;
206 myContinuityMode : Boolean from Standard;
207 myCurveOnSurfaceMode : Boolean from Standard;
208 myEmpty1, myEmpty2 : Boolean from Standard;
b1d15f53 209 myResult : ListOfCheckResult from BOPAlgo;
210 myFuzzyValue : Real from Standard;
211 myToleranceMap : DataMapOfShapeReal from BOPCol;
212
4e57c75e 213end ArgumentAnalyzer;