34 . IBOX ,X ,SKEW ,IB ,ELT_ARRAY,
35 . ELT_SIZE,NIX ,IX ,NIX1 ,IPARTE ,
36 . IPART ,ELTREE ,KLEVTREE ,KELTREE ,NUMEL ,
62#include "implicit_f.inc"
69#include "remesh_c.inc"
73 INTEGER ELT_ARRAY(*),IPARTE(*),IPART(LIPART1,*),IX(NIX,*),ELTREE(KELTREE,*)
74 INTEGER IB,ELT_SIZE,NIX,NIX1,KLEVTREE,KELTREE,NUMEL,ITYPE
76 . X(3,*),SKEW(LSKEW,*)
78 TYPE (BOX_) ,
DIMENSION(NBBOX) :: IBOX
82 INTEGER I,J,K,INSIDE,ISK,BOX_TYPE,NBOXBOX,IBX,COUNT,IP,
85 . XP1,YP1,ZP1,XP2,YP2,ZP2,DIAM,NODINB(3)
105 isk = ibox(ibx)%ISKBOX
106 box_type = ibox(ibx)%TYPE
113 diam = ibox(ibx)%DIAM
115 IF (nadmesh == 0)
THEN
118 IF (box_type == 1)
THEN
128 . isk,nodinb,skew,inside)
129 IF (inside == 1) count = count + 1
131 IF ( itype == 1 )
THEN
134 IF (count == nix1)
THEN
135 elt_size = elt_size + 1
136 elt_array(elt_size) = j
138 ELSEIF ( itype == 2 )
THEN
141 IF (inside > 0 )
THEN
142 elt_size = elt_size + 1
143 elt_array(elt_size) = j
149 ELSEIF (box_type == 2)
THEN
158 CALL checkcyl(xp1, yp1, zp1 , xp2, yp2, zp2,
159 . nodinb , diam, inside )
160 IF (inside == 1) count = count + 1
162 IF ( itype == 1 )
THEN
165 IF (count == nix1)
THEN
166 elt_size = elt_size + 1
167 elt_array(elt_size) = j
169 ELSEIF ( itype == 2 )
THEN
172 IF (inside > 0 )
THEN
173 elt_size = elt_size + 1
174 elt_array(elt_size) = j
180 ELSEIF (box_type == 3)
THEN
189 CALL checksphere(xp1, yp1, zp1, nodinb, diam, inside)
190 IF (inside == 1) count = count + 1
192 IF ( itype == 1 )
THEN
195 IF (count == nix1)
THEN
196 elt_size = elt_size + 1
197 elt_array(elt_size) = j
199 ELSEIF ( itype == 2 )
THEN
202 IF (inside > 0 )
THEN
203 elt_size = elt_size + 1
204 elt_array(elt_size) = j
210 ELSEIF (nadmesh /= 0)
THEN
214 IF (box_type == 1)
THEN
224 . isk,nodinb,skew,inside)
225 IF (inside == 1) count = count + 1
227 IF ( itype == 1 )
THEN
230 IF (count == nix1)
THEN
233 my_lev=eltree(klevtree,j)
234 IF (my_lev < 0) my_lev=-(my_lev+1)
235 IF (my_lev==nlev)
THEN
236 elt_size = elt_size + 1
237 elt_array(elt_size) = j
240 ELSEIF ( itype == 2 )
THEN
243 IF (inside > 0 )
THEN
246 my_lev=eltree(klevtree,j)
247 IF (my_lev < 0) my_lev=-(my_lev+1)
248 IF (my_lev==nlev)
THEN
249 elt_size = elt_size + 1
250 elt_array(elt_size) = j
257 ELSEIF (box_type == 2)
THEN
266 CALL checkcyl(xp1, yp1, zp1 , xp2, yp2, zp2,
267 . nodinb , diam, inside )
268 IF (inside == 1) count = count + 1
270 IF ( itype == 1 )
THEN
273 IF (count == nix1)
THEN
276 my_lev=eltree(klevtree,j)
277 IF (my_lev < 0) my_lev=-(my_lev+1)
278 IF (my_lev==nlev)
THEN
279 elt_size = elt_size + 1
280 elt_array(elt_size) = j
283 ELSEIF ( itype == 2 )
THEN
286 IF (inside > 0 )
THEN
289 my_lev=eltree(klevtree,j)
290 IF (my_lev < 0) my_lev=-(my_lev+1)
291 IF (my_lev==nlev)
THEN
292 elt_size = elt_size + 1
293 elt_array(elt_size) = j
300 ELSEIF (box_type
THEN
309 CALL checksphere(xp1, yp1, zp1, nodinb, diam, inside)
310 IF (inside == 1) count = count + 1
312 IF ( itype == 1 )
THEN
315 IF (count == nix1)
THEN
318 my_lev=eltree(klevtree,j)
319 IF (my_lev < 0) my_lev=-(my_lev+1)
320 IF (my_lev==nlev)
THEN
321 elt_size = elt_size + 1
322 elt_array(elt_size) = j
325 ELSEIF ( itype == 2 )
THEN
328 IF (inside > 0 )
THEN
331 my_lev=eltree(klevtree,j)
332 IF (my_lev < 0) my_lev=-(my_lev+1)
333 IF (my_lev==nlev)
THEN
334 elt_size = elt_size + 1
335 elt_array(elt_size) = j
subroutine fill_clause_elt_box(ibox, x, skew, set_title, keyset, boxlist, boxlist_size, boxelts, sz_boxelts, boxtype, nix, ix, nix1, iparte, ipart, eltree, klevtree, keltree, numel)
recursive subroutine elt_box(ib, ibox, x, skew, set_title, keyset, boxelts, sz_boxelts, nix, ix, nix1, iparte, ipart, eltree, klevtree, keltree, numel, boxtype)
subroutine simple_elt_box(ibox, x, skew, ib, elt_array, elt_size, nix, ix, nix1, iparte, ipart, eltree, klevtree, keltree, numel, itype)