Hi-
Bill Hibbard wrote:
Sets are immutable, so to change the location of your
points you'll have to construct a new DelaunayCustom,
a new Irregular3DSet and a new FlatField, then pass
the FlatField to tetref.setData(). Hopefully this won't
be too slow for you - the good news is that DelaunayCustom
is constructed much quicker than the other Delaunay
subclasses. You may be able to speed it up a bit more
by saving the Vertices, Walk and Edges arrays constructed
by your first call to the DelaunayCustom constructor, then
passing them to subsequent DelaunayCustom constructors.
To save on time/memory, you should be able to do something like
the following if your FlatField range does not change:
// create the new set
delaun = new DelaunayCustom(newpts, tri);
newgsp = new Irregular3DSet(xyz,newpts,null,null,null,delaun);
newvals_rgb = new FlatField( func_rgb, newgsp);
//use copy=false to use the same array of range values
newvals_rgb.setSamples(vals_rgb.getSamples(false),false);
tetref.setData(newvals_rgb);
so you'll just end up using the range for the new and old
set.
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************
==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================