0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPAlgo / BOPAlgo_ArgumentAnalyzer.cdl
1 -- Created on: 2004-09-03
2 -- Created by: Oleg FEDYAEV
3 -- Copyright (c) 2004-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
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
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.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 class ArgumentAnalyzer from BOPAlgo
17   inherits Algo from BOPAlgo
18     ---Purpose: check the validity of argument(s) for Boolean Operations
19     
20 uses
21     Shape       from TopoDS,
22     Operation   from BOPAlgo, 
23     CheckStatus from BOPAlgo,
24     ShapeEnum  from TopAbs,
25     ListOfCheckResult  from BOPAlgo,
26     DataMapOfShapeReal from BOPCol
27     
28 is
29     Create
30        returns ArgumentAnalyzer;
31     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_ArgumentAnalyzer();"
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
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
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
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
166     TestContinuity(me: out)
167     is protected; 
168      
169     TestCurveOnSurface(me: out) 
170     is protected;
171
172 --  TestMergeFace(me: out)
173 --  is protected;  
174
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.
192
193 fields
194
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; 
209     myResult             : ListOfCheckResult from BOPAlgo;
210     myFuzzyValue         : Real      from Standard;
211     myToleranceMap       : DataMapOfShapeReal from BOPCol;
212
213 end ArgumentAnalyzer;