0024220: bopargcheck returns valid for C0 shape but results of boolean operations...
[occt.git] / src / BOPAlgo / BOPAlgo_ArgumentAnalyzer.cdl
CommitLineData
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
21class ArgumentAnalyzer from BOPAlgo
22 ---Purpose: check the validity of argument(s) for Boolean Operations
23
24uses
25 Shape from TopoDS,
26 Operation from BOPAlgo,
27 CheckStatus from BOPAlgo,
28 ShapeEnum from TopAbs,
29 ListOfCheckResult from BOPAlgo
30
31is
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
168fields
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
186end ArgumentAnalyzer;