34
35
36
37
38
39
40
41
42
43#include "implicit_f.inc"
44
45
46
47 INTEGER TAB_MESHSURFCUT(*),TAB_MESHSURFCUT2(*)
48 INTEGER DIR,DIR2,IPID,IPID2,L_TAB_MESHSURFCUT,L_TAB_MESHSURFCUT2,
49 . L_TAB_COINKNOT,L_TAB_COINKNOT_TEST,ID_MESHSURF,FLAG
50 my_real tab_coinknot(2,l_tab_coinknot),
51 . tab_coinknot_test(2,l_tab_coinknot_test),
52 . knot_insere,knot_insere2
53
54
55
56 INTEGER DIRTANG1, DIRTANG2
57 my_real coinenglob(2,2), coinenglob_test(2,2)
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 IF(ipid2/=ipid) RETURN
97 IF(dir2==dir) RETURN
98
99
100
101
102
103
104
105
106 IF(dir==1) THEN
107 dirtang1 = 2
108 dirtang2 = 3
109 ELSEIF(dir==2) THEN
110 dirtang1 = 3
111 dirtang2 = 1
112 ELSEIF(dir==3) THEN
113 dirtang1 = 1
114 dirtang2 = 2
115 ENDIF
116
117 coinenglob(1,1) = minval(tab_coinknot(1,1:(l_tab_coinknot)))
118 coinenglob(2,1) = minval(tab_coinknot(2,1:(l_tab_coinknot)))
119 coinenglob(1,2) = maxval(tab_coinknot(1,1:(l_tab_coinknot)))
120 coinenglob(2,2) = maxval(tab_coinknot(2,1:(l_tab_coinknot)))
121
122 coinenglob_test(1,1) = minval(tab_coinknot_test(1,1:(l_tab_coinknot_test
123 coinenglob_test(2,1) = minval(tab_coinknot_test(2,1:(l_tab_coinknot_test)))
124 coinenglob_test(1,2) = maxval(tab_coinknot_test(1,1:(l_tab_coinknot_test)))
125 coinenglob_test(2,2) = maxval(tab_coinknot_test(2,1:(l_tab_coinknot_test)))
126
127
128
129
130
131
132
133
134 IF(dir2==dirtang1) THEN
135 IF(knot_insere2<coinenglob(1,1).OR.knot_insere2>coinenglob(1,2)) RETURN
136 IF(knot_insere<coinenglob_test(2,1).OR.knot_insere>coinenglob_test(2,2)) RETURN
137 IF(coinenglob_test(1,2)<coinenglob(2,1)) RETURN
138 IF(coinenglob_test(1,1)>coinenglob(2,2)) RETURN
139 ELSEIF(dir2==dirtang2) THEN
140 IF(knot_insere2<coinenglob(2,1).OR.knot_insere2>coinenglob(2,2)) RETURN
141 IF(knot_insere<coinenglob_test(1,1).OR.knot_insere>coinenglob_test(1,2)) RETURN
142 IF(coinenglob_test(2,2)<coinenglob(1,1)) RETURN
143 IF(coinenglob_test(2,1)>coinenglob(1,2)) RETURN
144 ENDIF
145
146
147
148
149
150 l_tab_meshsurfcut = l_tab_meshsurfcut + 1
151 IF(flag==1) THEN
152 tab_meshsurfcut(l_tab_meshsurfcut) = id_meshsurf
153 ENDIF
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 RETURN