import ChaosDemos.*; import java.awt.*; import java.util.*; //******************************************************************** /** * Diagnostics for Map1D
* Base class for subclassing * @version 10 October 1997 * @author Michael Cross */ //******************************************************************** public class Map1DDiagnostics { /** math constants */ static final double Pi=Math.PI; static final double Pi2=2*Pi; /* flags */ /** true if user has chosen range with mouse */ boolean setAxesRange=false; /** true if transient is to be run on call to restart() */ boolean runTrans=false; /** true if second trace to be plotted */ boolean curve2 = false; /** true if a,b boxes to be disbaled */ public boolean hideab = false; /** number of iterations to eliminate transient */ int ntrans=0; /** Number of iterations to perform before processing */ int nf=1; /** number of points used to plot function */ int functionPoints=256; /** number of curves */ int ncurve=-1; /** index of first data curve */ int ncurve1; /** index of second data curve */ int ncurve2; /** number of iterations */ int iterations=0; /** delay in graph update */ int delay=100; /** parameter of map equations */ double a; /** Maximum value allowed for a */ double aMaxLimit; /** Minimum value allowed for a */ double aMinLimit; /** parameter of map equations */ double b; /** iteration variable */ double x; /** starting value */ double x0; /** map parameters {a,b} */ double[] parameters; /** Number of map parameters */ public int nParameters; /** Range of plot */ double xmin=0,xmax=1,ymin=0,ymax=1; /** parent class */ Map1D parent; //****************************************************************** /** * @param inParent parent class * @see Map1D */ //****************************************************************** public Map1DDiagnostics(Map1D inParent) { parent=inParent; } //******************************************************************** /** * Updates parameters from the text controls in parent class */ //******************************************************************** public void updateParameters() { } //********************************************************************* /** * Restarts */ //********************************************************************* public void restart() { } //********************************************************************* /** * Iterates Map equations and updates graph * @return true if iteration successful */ //********************************************************************* public boolean iterate() { return true; } //********************************************************************** /** * Sets default values of parameters depending on plot type */ //********************************************************************** public void setPlotDefaults() { } //********************************************************************** /** * Resets x-range to 0 < x < 1 */ //********************************************************************** public void resetRange() { xmin=0.; xmax=1.; ymin=0.; ymax=1.; setAxesRange=false; } //********************************************************************** /** * Action to perform on mouse drag. Default is to set range of axes * and restart */ //********************************************************************** public void respondToDrag(double x1, double x2, double y1, double y2) { xmin=x1; xmax=x2; ymin=y1; ymax=y2; setAxesRange=true; restart(); } //********************************************************************** /** * Action to perform on mouse click. Default is display coordinates * of point */ //********************************************************************** public void respondToClick(double x, double y) { alertDialog alert = new alertDialog(parent, " Point is ("+(float)x+","+(float)y+")"); } //********************************************************************** /** * Shifts x to 0shift) { x=x-shift; } while (x<0.) { x=x+shift; } return x; } //********************************************************************** /** * Sets delay for movie iteration */ //********************************************************************** public void setDelay(int inDelay) { delay=inDelay; } //********************************************************************** }