summaryrefslogtreecommitdiff
path: root/src/BOP/BOP_ArgumentAnalyzer.cdl
blob: bf5eb5ed4d2abe53f13e056365de3023813fc8f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
-- File:	BOP_ArgumentAnalyzer.cdl
-- Created:	Fri Sep  3 14:20:31 2004
-- Author:	Oleg FEDYAEV
--		<ofv@merlox>
---Copyright:	 Matra Datavision 2004

class ArgumentAnalyzer from BOP
    ---Purpose: check the validity of argument(s) for Boolean Operations
    
uses
    Shape       from TopoDS,
    Operation   from BOP,
    CheckStatus from BOP,
    Operation  from BOP,
    ShapeEnum  from TopAbs,
    ListOfCheckResult from BOP
    
is
    Create
    	returns ArgumentAnalyzer;
	---Purpose: empty constructor

    SetShape1(me: in out; TheShape: Shape from TopoDS);
    ---Purpose: sets object shape

    SetShape2(me: in out; TheShape: Shape from TopoDS);
    ---Purpose: sets tool shape

    GetShape1(me)
    	returns Shape from TopoDS;
	---C++: return const &
	---Purpose: returns object shape;

    GetShape2(me)
    	returns Shape from TopoDS;
	---C++: return const &
	---Purpose: returns tool shape

    --modified by NIZHNY-MKK  Fri Sep  3 17:14:55 2004.BEGIN
    ---options
    OperationType(me: in out)
    	returns Operation from BOP;
	---C++: return &
	---Purpose: returns ref

    StopOnFirstFaulty(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---Purpose: returns ref

    ArgumentTypeMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode 
	--          that means checking types of shapes.

    SelfInterMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of self-intersection of shapes.

    SmallEdgeMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of small edges.

    RebuildFaceMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of possibility to split or rebuild faces.

    TangentMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of tangency between subshapes.

    MergeVertexMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of problem of merging vertices.

    MergeEdgeMode(me: in out)
    	returns Boolean from Standard;
	---C++: return &
	---C++: inline
	---Purpose: Returns (modifiable) mode that means
    	--          checking of problem of merging edges.

--    MergeFaceMode(me: in out)
--    	returns Boolean from Standard;
--	---C++: return &
--	---C++: inline
--	---Purpose: Returns (modifiable) mode that means
--    	--          checking of problem of merging faces.

    --modified by NIZHNY-MKK  Fri Sep  3 17:15:02 2004.END

    ---
    Perform(me: out);
    ---Purpose: performs analysis

    HasFaulty(me)
    	returns Boolean from Standard;
	---Purpose: result of test

    GetCheckResult(me)
    	returns ListOfCheckResult from BOP;
	---C++: return const &
	---Purpose: returns a result of test

    --- protected	
    TestTypes(me: out)
    	is protected;

    TestSelfInterferences(me: out)
    	is protected;

    TestSmallEdge(me: out)
    	is protected;

    TestRebuildFace(me: out)
    	is protected;

    TestTangent(me: out)
    	is protected;

    TestMergeSubShapes(me: out; theType: ShapeEnum from TopAbs)
    	is protected;

    TestMergeVertex(me: out)
    	is protected;

    TestMergeEdge(me: out)
    	is protected;

--    TestMergeFace(me: out)
--    	is protected;


fields

    myShape1      : Shape             from TopoDS;
    myShape2      : Shape             from TopoDS;
    myStopOnFirst : Boolean           from Standard;
    --modified by NIZHNY-MKK  Fri Sep  3 17:08:38 2004.BEGIN
    myOperation   : Operation         from BOP;
    myArgumentTypeMode  : Boolean           from Standard;
    mySelfInterMode  : Boolean           from Standard;
    mySmallEdgeMode  : Boolean           from Standard;
    myRebuildFaceMode: Boolean           from Standard;
    myTangentMode     : Boolean           from Standard;
    myMergeVertexMode: Boolean           from Standard;
    myMergeEdgeMode  : Boolean           from Standard;
--    myMergeFaceMode  : Boolean           from Standard;

    --modified by NIZHNY-MKK  Fri Sep  3 17:08:41 2004.END
    myResult      : ListOfCheckResult from BOP;
    
end ArgumentAnalyzer;