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