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- 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 ==============================================================================
visad
archives: