NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Sylvain, > I'll try to explain my problem : > I've got a mesh in 3D with about 200 000 samples and 1 000 000 tetras. > . . . > > for (int i=0; i<delaun.Edges.length; i++) { > int[] trii = delaun.Tri[i]; > int[] edgesi = delaun.Edges[i]; > for (int j=0; j<4; j++) { > if (gsp[edgesi[j]] == null) { > . . . > gsp[edgesi[j]] = new Gridded3DSet(xyz, pts, 2); > } > } > } > . . . Since delaun.Edges.length = number of tetrahedra, this will construct 1000000 * 4 = 4000000 Gridded3DSets. It is quite plausible that this would require 755 MB of memory (Java Objects have a fair amount of invisible memory overhead). Further, if you put this collection of 4000000 Gridded3DSets into a UnionSet and link them to a DisplayImpl, it will require lots of memory and time. In fact, just the Samples, Tri, Vertices, Walk and Edges arrays for your DelaunayCustom should consume about 68 MB of memory, according to my estimate. One thing to consider is that the user will not be able to see 4000000 line segments, even if you could get them all displayed on the screen. You need to devise some strategy for selecting certain segments from you topology (e.g., select samples lying in certain small 3-D spatial regions, and only the segments among those samples). Then display this smaller set, and allow the user to interactively change the selection. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: