00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef INTERFACES_IPLOTTER_H
00013 #define INTERFACES_IPLOTTER_H 1
00014
00015 #include <iostream>
00016
00017 #ifndef ANAPHE_NO_NAMESPACE
00018 namespace Anaphe {
00019 #endif
00020
00021 class IVector;
00022 class IScatter2D;
00023
00024 class IPlotter {
00025
00026 public:
00027 virtual ~IPlotter() { ; }
00028
00029 public:
00030 virtual void refresh() = 0;
00031 virtual void reset() = 0;
00032
00033 virtual void plot(IVector *v1, IVector *v2) = 0;
00034 virtual void plot(IScatter2D *scat) = 0;
00035 virtual void overlay(IVector *v2, int selZone=-1) = 0;
00036
00037 virtual void psPrint(const char *file) = 0;
00038 virtual void makePicture(const char *file) = 0;
00039
00040 virtual void createRegion(double x, double y, double w, double h) = 0;
00041 virtual void zone(int, int, int iSel, const char *opt) = 0;
00042
00043 virtual void zoneOption(const char *opt, const char *val) = 0;
00044 virtual void dataOption(const char *opt, const char *val) = 0;
00045
00046 virtual void xAxisOption(const char *opt=0, const char *val=0) = 0;
00047 virtual void yAxisOption(const char *opt=0, const char *val=0) = 0;
00048
00049 virtual void dataStyle(const char *opt, const char *val) = 0;
00050 virtual void textStyle(const char *opt, const char *val) = 0;
00051
00052 #ifdef AIDA_DONT_USE_STD
00053 virtual void listOptions( ostream& os = cout) = 0;
00054 #else
00055 virtual void listOptions(std::ostream& os = std::cout) = 0;
00056 #endif
00057
00058 virtual void pageTitle(const char *title) = 0;
00059 virtual void zoneTitle(const char *title, int selZone=1) = 0;
00060
00061
00062 virtual void pageText(double xC, double yC, const char *text) = 0;
00063
00064 virtual void zoneText(double xC, double yC, const char *text, int selZone=1) = 0;
00065
00066 virtual void setMinMaxX(double xMin, double xMax, int selZone=1) = 0;
00067 virtual void setMinMaxY(double yMin, double yMax, int selZone=1) = 0;
00068
00069 virtual void resetMinMax() = 0;
00070
00071 virtual void interact() = 0;
00072 };
00073
00074 #ifndef ANAPHE_NO_NAMESPACE
00075 };
00076 #endif
00077
00078 extern "C" {
00079 Anaphe::IPlotter * createIPlotter();
00080 }
00081
00082 #endif