Re: help appreciated ...

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
==============================================================================


  • 2006 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: