Your approach sounds about right. In addition to
MutableIrregularSet (or MutableIrregularSet*D), you'll
need something like MutableDelaunayCustom (as you add
points you should add triangles or tetrahedra incrementally
to avoid the huge time penalty of re-running Delaunay
algorithms) and MutableFlatField.
You can probably do this by copying code from the existing
classes and carefully modifying a small but carefully
chosen subset of that code.
Of course, you'll also need to be careful about how you
access these objects from multiple Threads. Each CellImpl
and DisplayImpl has a Thread, and without the general Data
imuutability this mailing list would see lots of mysterious
Thread errors (the dog that didn't bark in the night).
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738
On Wed, 10 Jul 2002, P. Tewson wrote:
> I'm working on a geo-referenced database that stores environmental
> information for ocean environments. As the project progresses, it's
> becomming more and more clear that what we really need is a solid data
> model on which to base the storage and interface. Having to handle each
> data type separately is slowing development.
> Since I had used VisAD in the past, I started looking into using the VisAD
> data model as a basis for our database. Since visualizing the data is not
> a priority, we don't need to make use of most of VisAD's visualization
> capability -- just the solid data model. However, I'm running into
> problems with the immutability of the datasets. Since our data is
> geo-referenced but not regular, I was planning on using an IrregularSet to
> store information. However, due to the immutability of all of the Set
> classes, adding a single new entry to the thousands already stored seems
> like it would require creating entirely new domain sample arrays for the
> old points + single new point and creating an entirely new set around that
> new sample array.
> So, to finally get to the question, is there anything fundamentally wrong
> with the ideal of rolling our own MutableIrregularSet class that mimics
> the behavior of the IrregularSet class except for allowing dynamic changes
> to the domain samples? We would probably have to start sub-classing fairly
> far back in the hierarchy (around SimpleSet, it looks like) and replace
> the arrays with Vectors or Lists (which will be bad for performance but
> hopefully not critical since we aren't visualizing). Would the visad
> Delaunay class support a more dynamic approach, or would that require
> custom development as well, creating a MutableDelaunay class? I suppose a
> MutableFlatField would also be neccessary
> Or are we barking up the wrong tree? Is there an easier solution to this
> problem, or a package with a more suitable data model?
> Thanks for your help,
> Patrick Tewson
> UW Applied Physics Lab