14 ibase_entityhandle ents
15 ibase_handle_t rpverts, rpallverts, ipoffsets
16 pointer(rpents, ents(0:*))
17 pointer(rpverts, verts(0:*))
18 pointer(rpallverts, allverts(0:*))
19 pointer(ipoffsets, ioffsets(0,*))
20 integer ierr, ents_alloc, ents_size
21 integer iverts_alloc, iverts_size
22 integer allverts_alloc, allverts_size
23 integer offsets_alloc, offsets_size
26 call imesh_newmesh(
"MOAB", mesh, ierr)
29 call imesh_load(%VAL(mesh), %VAL(0),
"125hex.vtk",
"", ierr)
33 call imesh_getentities(%VAL(mesh), %VAL(0), %VAL(ibase_region),
34 1 %VAL(imesh_all_topologies), rpents, ents_alloc, ents_size,
43 call imesh_getentadj(%VAL(mesh), %VAL(ents(i)),
44 1 %VAL(ibase_vertex), rpverts, iverts_alloc, iverts_size,
48 vert_uses = vert_uses + iverts_size
56 call imesh_getentarradj(%VAL(mesh), %VAL(rpents),
57 1 %VAL(ents_size), %VAL(ibase_vertex), rpallverts,
58 1 allverts_alloc, allverts_size, ipoffsets, offsets_alloc,
61 call free(rpallverts);
66 if (allverts_size .ne. vert_uses)
then
67 write(*,
'("Sizes didn''t agree!")')
69 write(*,
'("Sizes did agree!")')
72 call imesh_dtor(%VAL(mesh), ierr)