Provides a collection of data structures used throughout ODEToolkit.
This module is central to the operation of the program, as it contains the
data structures responsible for storing the program's information.
Axis.java: This class represents an axis. It knows its range, is capable of
computing where tick marks should be placed, can convert plot coordinates
into pixel coordinates given a pixel length and vice versa, handles scaling
(and includes the various necessary safeguards) and handles log conversion.
Bounds.java: This class stores the interval for specific pair of variables.
This class is used when computing range for auto-scaling, by keeping track of
the x and y ranges to be displayed on the plot.
Curve.java: Each Curve represents a single solution. Solutions are returned as
curves. Curves contain a collection of points generated by a solution with a
particular set of initial conditions and solver parameters.
Equilibrium.java: Each Equilibrium represents an equilibrium point, which is
generated by an initial guess that the user input.
ODE.java: The workspace holds a collection of ODEs, each representing one ODE
that has been entered in that workspace. This contains the representation of
the actual ODE itself. Primarily, however, it is responsible for dealing with
the Curves associated with any given ODE.
ODEParameters.java: This class contains data that is held for each ODE that
specifies the information found in the InputPanel
ODEVar.java: This simple class is designed to contain the internal
representation of a variable, namely its name and the index reserved for it
within the points list. For instance, if points are stored (t, x, y) then t has
position 0, x 1 and y 2.
ODEVarKeeper.java: This class manages all variables for the whole WorkspaceData,
including keeping the list of variables, assign indices, create new variables,
and provide all variable information to other classes.
ODEVarVector.java: Extends Vector, providing some additional useful
functionality. Always use ODEVarVector instead of Vector
PointComparer.java: Compares the x-coordinates of two plotpoints. Implements
Comparator. Possible target for refactoring.
SolverSettings.java: This class contains the settings for each of the solvers,
as well as a String indicating the currently active solver.
Tick.java: represents a tick, including its value, its location on the axis,
and whether its label uses scientific notation.
VisualProperties.java: This class holds information about objects such as Curves
and Equilibria to give to the Drawer.
WorkspaceData.java: The WorkspaceData class contains the representation of a
single tab. This is the backend that ODEWorkspace interacts with. It contains a
vector of all ODEs that have been entered in that tab. The Workspace also takes
new ODES from the user interface (i.e., the ODEWorkspace), sends them to the
parser, and creates new ODE objects to represent them.