Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
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: