Changes from Version 2.3
- Fixed bug in Markers.AddMarkers method
- Fixed stupid bug with the rotate text ImageFilter found
in the RTextLine class. Only byte color models would rotate text.
- Added "stride" variable in DataSet Class. This specifies the stride
of the data.
- Added a VectorSet class an extension of the DataSet class that allows
the plotting of vector fields.
Changes from Version 2.2
- Added the RTextLine class that allows for text rotation in multiples
- of 90 degrees.
- The axis class now has rotated titles on vertical axis.
- Fixed minor bugs in the html code pointing to source
- Added the double buffering example, example2a
- Added the RTextLine example, example4a
Changes from Version 2.1
- The graph class library is now compiled as a package called
"graph"
- Some method names have changed to be consistent across all classes.
- The markers methods have been moved into the Marker class
- It is now possible for markers to be defined within java programs
- The BuildGraph class recognises most additions to the graph package.
- The BuildGraph class now correctly plots more than one dataset.
- Numerous error corrections. But the main bug fixed is the
display problem on Windows. The package should work fine on
Windows, Macs, Suns, Dec Alphas and Sgis. All the machines
I have managed to test the package on.
- The rubber-band drag box now works correctly in class G2Dint.
The colors are XORed correctly.
- All the documentation is produced by javadoc
Additions:
- All the classes have new methods and variables to control behaviour.
- The graph backgound color can be defined
- The data window background color can be defined
- Plots can force an aspect ratio of 1. This means circles will
appear as circles not ellipses.
- Textline class has a parseDouble() method to allow the formating
doubles when converted to strings.
- A SpecialFunction class as an extension to the java.lang.Math class.
Though all functions are defined in the Java language.
- The SpecialFunction class contains the definition of Physical
constants. Such as Boltzman constant, Speed of Light, Gravitational
Constant, Gas Constant etc. This is incomplete and reflects more
my own interests.
- The SpecialFunction class defines the following functions
log10(), sinh(), cosh(), tanh(), asinh(), acosh(), atanh(),
j0(), j1(), jn(), y0(), y1(), and yn().
- The ParseFunction class. This class will parse a function
definition containing at most 3 independent variables. The getResult
methods will return the function value.
Changes from Version 2.0
A Contour Class (as an extension of G2Dint) has been added.
The G2Dint class has a new popup window that allows the user to modify
the plot range manually. All popup windows can be closed by hitting the
'h' key in the window. The getClosestPoint method now works correctly.
The event interface has been changed to use the predefined Component
event methods. This makes it easy for child classes to catch events without
having to redefine the entire event handler.
The LoadData class has had a number of methods renamed though functionality
remains the same.
The BuildGraph class does not have the ability to call the Contour class.
Changes from Version 1.0
Not as many changes as I had hoped - as I moved to Australia at the end of
1995, and found myself without a job (Still no job), without access to a java
compiler or java viewer. Some of these problems have been slowly remedied but
it does mean that some of the changes have not been as extensively tested as they should.
I apologize to everyone who has sent me mail that I have failed to answer.
As I have limited access to computer resources I have found I have had to
maximise my time - answering questions/complaints
has low priority at the moment. Sorry, though don't get me wrong
I like to hear from people. So please send mail if you have found the
class library usefull (just don't expect a quick response).
All classes and examples have been tested using Netscape 2.0b6 on an SGI.
How they will perform on other machines I do not know.
Bug Fixes
The only important bug fix is that the plot will correctly redraw when obscured
or scrolled. The problem was a stupid missunderstanding on my part.
Additions
- A new class LoadData. This class
loads data from a file, but does it from a seperate thread. This means
that the applet will not freeze while data is being loaded. The class
will also force the plot to refreshed as data is loaded.
- Additions to the G2Dint class are-
- a popup
frame that displays the cursor position in plot coordinates.
- a popup
frame that displays the data point closest to the cursor.
- A new class TextLine. This class will
draw a line of text at a given pixel position. It combines some of the
methods of Font and FontMetrics. The Font and color for the line of text
can be specified. The text is parsed so that subscripting and
superscripting commands are recognised.
- A new class ScanWord. This is an extension
of the StreamTokenizer class but allows Keywords to be defined and
recognised in the input stream.
- A new class BuildGraph an extension of the
ScanWord class. This class reads a plot description file and can build
the plot and load the data. This means without learning Java programming
general plots can be incorporated into a web page simply.
Example 5 is an example of using
the BuildGraph class.
Leigh Brookshaw
Last modified: Wed Oct 23 13:09:43 EST 1996