Changes 17/2/2003
Generic processing method
There are now several alternatives to the processing model in Rez.java controlled
by the parameter "operationType". These are shown in the table below.
into a multiresolution tree in the same way individual tiles are split for
operationType=1. The first additioal operation was operationType=2
introduced last update which combines the array of input tiles into one output
tile. Probably the most important new operation is 3: all source
tiles are treated as one combined tile which is then split. This is probably
what I should have sone from the beginning as it is the best way to handle
very large data sets. The input data set (e.g. gtopo30 which is split
into 33 tiles) can be treated as one large height grid without actually loading
it all or combining it all first. This virtual grid is then subdivided
as normal. Previously Rez only had operation type 1: it would subdivide
each source tile, one at a time.
operationType
|
1 = split each source file into a multirez tree,
2 = combine an array of source elevation files into one output elevation
3 = all source tiles are treated as one combined tile which is then split
4 = (not available yet) each tile is processed to produce one output item
(not split up or subdivided into a mutirez tree)
|
Initial longitude divisions
|
The starting number of times to divide the output in the
longitude direction
|
Initial latititude divisions
|
The starting number of times to divide the output in the
latitude direction
|
Splitting parameters
Parameters have also been added to control the initial number of tiles produced
on output. So instead of starting with one tile at level 0 and then
subdividing that each subsequent level you can start with, say, 4x4 tiles
and have each subdivided in subsequent levels.
The same has been done to the image splitter: SmoothImageSlicer, but the
other image tools have not been updated.
Plugins
The following plugins have been added:
parsers: versions of ParseAvAscii and ParseEG that assume the grids are
measured in degrees rather than meters.
A plugin for compact binary tree output (CompactBSP/CompactVRML)
A plugin that supports combine-then-split operations (operation type = 3)
for VRML output.
Changes 6/11/2002
Bugfixes - a few miscellaneous - one fairly serious which caused tiles to disappear
- be traslated off to whoop whoop but only for binary trees after about level
6.
A number of minor changes do not relate to added functionality.
Changes 6/6/2002
Additions:
- A VRML tile combiner which can be used to combine input
elevations and produce a single output elevation in VRML
- A heightmap jpeg file output tiler
- A gtopo demo output tiler.
There have been a number of package and name changes for javadoc clarity.
A tiler plugin can now specify the initial number of subdivisions in the
north/south, east-west direcitons to the initial tile (level 0) through
two additional methods added to RezTileFW. These methods are called
by the tiler implementaion if it wants something other than a single tile
a the first level.
A number of little bug fixes.
Some cleaning up and maintenace both in code and on framework design.
For the moment I have retired the VRML IndexedFaceSet plugin and the java3D
one. There will be a new j3d.org tile loader implementation in the
future.
Changes 16/2/2002
A number of design changes were made to make the framework easier to work
with and tolay the foundation for forming an API. Design of tiler
and any geographical output classes now follows the Composite design pattern.
There is a new interface for GUI plugins, and a new interface for scene
generator plugins (a scene generator is my term for whatever creates things
additional to the terrain. e.g. geometry in which the terrain resides,
viewpoints, tour interpolators, buildings, features etc).
Some internal redesign, debugging etc.
Modifiable text is now managed through properties files that sit in the
appropriate plugins directory, and there is a new interface for the modifiable
text handler, which, you guesed it!, can be another plugin.
Things to watch out for:
- The RezTile interface has changed
- the parameters and config file fields have changed:
- the debug flag is set in the command line through a -D flag, no
longer as a standard Rez parameter.
- some redundant parameters are removed
- the config files are changed to allow gui, scene plugins and to
remove the separate tree builder plugin (the treebuilder interface is still
implementable but its instance must be called from the buildTree method
of the RezTile instance.
- tiles and images no longer have an alphabetic character (corresponding
to level) appended to the file name
I think with these changes the Rez system becomes a true (embryonic)
framework and it sets the stage for easier expansion of its uses and capabilities.
New sample plugins:
- A sample plugin GUI (in rez.plugins.gui)
- A scene generator plugin for VRML models (in rez.plugins.scene)
There is now only one plugin interface for multiresolution tiles (if
a separate tree node generator is required it is called from the tiler).