extern "C" { #include "../src/xgrafixint.h" #include "stdio.h" } extern int MAX_LIN; /*#define max(x,y) ((x)>(y))? (x):(y)*/ class StructureData { public: int n; int fillFlag; int lineColor; int fillColor; float *points; }; class plot { protected: char *filename; // filename from which the plots come LabelType label; List structures; public: int xloc; int yloc; virtual void updatePlot(double time) = 0; // bring the plot up to this time plot(char *_filename,int xloc,int yloc); }; // scatter plots or line plots class One_D_plot_data { public: float *x; float *y; int n; int color; float time; One_D_plot_data(){}; }; class One_D_plot : public plot { protected: List< List > graphdata; ListIter > *current; List< One_D_plot_data> current_data; public: virtual void updatePlot(double time); One_D_plot(char *_filename,int xloc,int yloc); }; class ScatterPlot : public One_D_plot { public: ScatterPlot(char *_filename,int xloc,int yloc); }; class LinePlot : public One_D_plot { public: LinePlot(char *_filename,int xloc,int yloc); }; class SurfacePlotData { public: float **z; float time; }; class SurfacePlot: public plot { public: int n,m; float *x; float *y; float **z; List< SurfacePlotData > graphdata; ListIter *current; virtual void updatePlot(double time); SurfacePlot(char *_filename,int xloc,int yloc); }; class VectorPlotData { public: float **z; float **w; float time; }; class VectorPlot: public plot { public: int n,m; float *x; float *y; float **z; float **w; List< VectorPlotData > graphdata; ListIter *current; virtual void updatePlot(double time); VectorPlot(char *_filename,int xloc,int yloc); };