I've written a working Isosurface Generator using the "marching cubes"
algorithm. It takes a dataset of voxels like the data you can find on the
web from MRI scans, and wraps a surface around the data based on a threshold
variable. The program has worked fine with datasets up to 50x50x50 voxels.
(I'm generating my own datasets with another J3D program, same format as the
MRI data)
I've sized a temporary Point3d[] array to 50x50x50x5x3, (the maximum number
of vertices possible, 5 triangles per cube 3 vertices each). As each cube is
parsed I fill the temp array with the vertices until all cubes have been
parsed, keeping count of the number of actual vertices used. Then initialize
a public array to the size required and extract the points from the temp
array into it, and dispose of the temp array.
(the above step wouldn't be required if I could append Arrays)
Again this all works fine with a dataset of that size. However when I
attempt to go to a 100x100x100 dataset, I'm getting an out of memory
exception. I've re-written the code using a PointArray() hoping this would
be a more efficient use of memory, but again I run out of memory.
I'm working on an Integraph TZD 2000 GL2 450MHz workstation with 384Mb of
RAM, so memory shouldn't be a problem.
Does anyone know how to allow Java3d access to more memory space?
Or any other useful information, tips, solutions etc.......
Thanks in advance.
Don Casteel
Manufacturing Engineer
TEXTRON Automotive Company -- Athens Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Voice: (423)744-1109
Fax: (423)744-1112
Pager: (423)744-1129 -- 109
Internet: [EMAIL PROTECTED]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".