1 // $Id$
2 import ptolemy.plot.*;
3 import java.awt.*;
4 import java.util.*;
5 import java.awt.event.*;
6 import javax.swing.*;
7 import javax.swing.event.*;
8 
9 public class Graph extends Plot{
10 
11   public boolean first = true, refill = true;
12   public double xmin, xmax, ymin, ymax, dx, dy;
13 
addData(int set, double xval, double yval, boolean connect, boolean doRefill)14   public void addData(int set, double xval, double yval, boolean connect, boolean doRefill){
15     if(first){
16       xmin=xval;
17       xmax=xval;
18       ymin=yval;
19       ymax=yval;
20     } else {
21       dx=xmax-xmin;
22       dy=ymax-ymin;
23       if(xval<xmin) { xmin=xval-0.2*dx; refill=true; };
24       if(xval>xmax) { xmax=xval+0.2*dx; refill=true; };
25       if(yval<ymin) { ymin=yval-0.2*dy; refill=true; };
26       if(yval>ymax) { ymax=yval+0.2*dy; refill=true; };
27     };
28     addPoint(set,xval,yval,connect);
29     if(refill && doRefill) {
30       setXRange(xmin,xmax);
31       setYRange(ymin,ymax);
32       _drawPlot(getGraphics(),true);
33     };
34     first=false;
35     refill=false;
36   }
37 
removeSet(int dataset)38   public void removeSet(int dataset){
39     Vector pts = (Vector)_points.elementAt(dataset);
40     pts.removeAllElements();
41     _xTop = - Double.MAX_VALUE;
42     _yTop = - Double.MAX_VALUE;
43     _xBottom = Double.MAX_VALUE;
44     _yBottom = Double.MAX_VALUE;
45   }
46 
fixRange(double xmin, double xmax, double ymin, double ymax)47     public void fixRange(double xmin, double xmax, double ymin, double ymax){
48 	setXRange(xmin,xmax);
49 	setYRange(ymin,ymax);
50     }
51 }
52