00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef CASA_PGPLOTTERINTERFACE_H
00030 #define CASA_PGPLOTTERINTERFACE_H
00031
00032 #include <casacore/casa/aips.h>
00033
00034 namespace casacore {
00035
00036 class Record;
00037 class String;
00038 template<class T> class Vector;
00039 template<class T> class Matrix;
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103 class PGPlotterInterface
00104 {
00105 public:
00106 virtual ~PGPlotterInterface();
00107
00108
00109
00110
00111
00112 virtual Bool isAttached() const;
00113
00114
00115
00116
00117
00118
00119 virtual void message(const String &text);
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129 virtual void resetPlotNumber () {;};
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140 virtual Record curs(Float x, Float y) = 0;
00141
00142
00143
00144
00145
00146
00147
00148
00149 virtual void arro(Float x1, Float y1, Float x2, Float y2) = 0;
00150 virtual void ask(Bool flag) = 0;
00151 virtual void bbuf() = 0;
00152 virtual void bin(const Vector<Float> &x, const Vector<Float> &data,
00153 Bool center) = 0;
00154 virtual void box(const String &xopt, Float xtick, Int nxsub,
00155 const String &yopt, Float ytick, Int nysub) = 0;
00156 virtual void circ(Float xcent, Float ycent, Float radius) = 0;
00157 virtual void conb(const Matrix<Float> &a, const Vector<Float> &c,
00158 const Vector<Float> &tr, Float blank) = 0;
00159 virtual void conl(const Matrix<Float> &a, Float c,
00160 const Vector<Float> &tr, const String &label,
00161 Int intval, Int minint) = 0;
00162 virtual void cons(const Matrix<Float> &a, const Vector<Float> &c,
00163 const Vector<Float> &tr) = 0;
00164 virtual void cont(const Matrix<Float> &a, const Vector<Float> &c,
00165 Bool nc, const Vector<Float> &tr) = 0;
00166 virtual void ctab(const Vector<Float> &l, const Vector<Float> &r,
00167 const Vector<Float> &g, const Vector<Float> &b,
00168 Float contra, Float bright) = 0;
00169 virtual void draw(Float x, Float y) = 0;
00170 virtual void ebuf() = 0;
00171 virtual void env(Float xmin, Float xmax, Float ymin, Float ymax, Int just,
00172 Int axis) = 0;
00173 virtual void eras() = 0;
00174 virtual void errb(Int dir, const Vector<Float> &x, const Vector<Float> &y,
00175 const Vector<Float> &e, Float t) = 0;
00176 virtual void errx(const Vector<Float> &x1, const Vector<Float> &x2,
00177 const Vector<Float> &y, Float t) = 0;
00178 virtual void erry(const Vector<Float> &x, const Vector<Float> &y1,
00179 const Vector<Float> &y2, Float t) = 0;
00180 virtual void gray(const Matrix<Float> &a, Float fg, Float bg,
00181 const Vector<Float> &tr) = 0;
00182 virtual void hi2d(const Matrix<Float> &data, const Vector<Float> &x,
00183 Int ioff, Float bias, Bool center,
00184 const Vector<Float> &ylims) = 0;
00185 virtual void hist(const Vector<Float> &data, Float datmin, Float datmax,
00186 Int nbin, Int pcflag) = 0;
00187 virtual void iden() = 0;
00188 virtual void imag(const Matrix<Float> &a, Float a1, Float a2,
00189 const Vector<Float> &tr) = 0;
00190 virtual void lab(const String &xlbl, const String &ylbl,
00191 const String &toplbl) = 0;
00192 virtual void ldev() = 0;
00193 virtual Vector<Float> len(Int units, const String &string) = 0;
00194 virtual void line(const Vector<Float> &xpts, const Vector<Float> &ypts) = 0;
00195 virtual void move(Float x, Float y) = 0;
00196 virtual void mtxt(const String &side, Float disp, Float coord, Float fjust,
00197 const String &text) = 0;
00198 virtual String numb(Int mm, Int pp, Int form) = 0;
00199 virtual void page() = 0;
00200 virtual void panl(Int ix, Int iy) = 0;
00201 virtual void pap(Float width, Float aspect) = 0;
00202 virtual void pixl(const Matrix<Int> &ia, Float x1, Float x2,
00203 Float y1, Float y2) = 0;
00204 virtual void pnts(const Vector<Float> &x, const Vector<Float> &y,
00205 const Vector<Int> symbol) = 0;
00206 virtual void poly(const Vector<Float> &xpts, const Vector<Float> &ypts) = 0;
00207 virtual void pt(const Vector<Float> &xpts, const Vector<Float> &ypts,
00208 Int symbol) = 0;
00209 virtual void ptxt(Float x, Float y, Float angle, Float fjust,
00210 const String &text) = 0;
00211 virtual Vector<Float> qah() = 0;
00212 virtual Int qcf() = 0;
00213 virtual Float qch() = 0;
00214 virtual Int qci() = 0;
00215 virtual Vector<Int> qcir() = 0;
00216 virtual Vector<Int> qcol() = 0;
00217 virtual Vector<Float> qcr(Int ci) = 0;
00218 virtual Vector<Float> qcs(Int units) = 0;
00219 virtual Int qfs() = 0;
00220 virtual Vector<Float> qhs() = 0;
00221 virtual Int qid() = 0;
00222 virtual String qinf(const String &item) = 0;
00223 virtual Int qitf() = 0;
00224 virtual Int qls() = 0;
00225 virtual Int qlw() = 0;
00226 virtual Vector<Float> qpos() = 0;
00227 virtual Int qtbg() = 0;
00228 virtual Vector<Float> qtxt(Float x, Float y, Float angle, Float fjust,
00229 const String &text) = 0;
00230 virtual Vector<Float> qvp(Int units) = 0;
00231 virtual Vector<Float> qvsz(Int units) = 0;
00232 virtual Vector<Float> qwin() = 0;
00233 virtual void rect(Float x1, Float x2, Float y1, Float y2) = 0;
00234 virtual Float rnd(Float x, Int nsub) = 0;
00235 virtual Vector<Float> rnge(Float x1, Float x2) = 0;
00236 virtual void sah(Int fs, Float angle, Float vent) = 0;
00237 virtual void save() = 0;
00238 virtual void scf(Int font) = 0;
00239 virtual void sch(Float size) = 0;
00240 virtual void sci(Int ci) = 0;
00241 virtual void scir(Int icilo, Int icihi) = 0;
00242 virtual void scr(Int ci, Float cr, Float cg, Float cb) = 0;
00243 virtual void scrn(Int ci, const String &name) = 0;
00244 virtual void sfs(Int fs) = 0;
00245 virtual void shls(Int ci, Float ch, Float cl, Float cs) = 0;
00246 virtual void shs(Float angle, Float sepn, Float phase) = 0;
00247 virtual void sitf(Int itf) = 0;
00248 virtual void sls(Int ls) = 0;
00249 virtual void slw(Int lw) = 0;
00250 virtual void stbg(Int tbci) = 0;
00251 virtual void subp(Int nxsub, Int nysub) = 0;
00252 virtual void svp(Float xleft, Float xright, Float ybot, Float ytop) = 0;
00253 virtual void swin(Float x1, Float x2, Float y1, Float y2) = 0;
00254 virtual void tbox(const String &xopt, Float xtick, Int nxsub,
00255 const String &yopt, Float ytick, Int nysub) = 0;
00256 virtual void text(Float x, Float y, const String &text) = 0;
00257 virtual void unsa() = 0;
00258 virtual void updt() = 0;
00259 virtual void vect(const Matrix<Float> &a, const Matrix<Float> &b,
00260 Float c, Int nc,
00261 const Vector<Float> &tr, Float blank) = 0;
00262 virtual void vsiz(Float xleft, Float xright, Float ybot,
00263 Float ytop) = 0;
00264 virtual void vstd() = 0;
00265 virtual void wedg(const String &side, Float disp, Float width,
00266 Float fg, Float bg, const String &label) = 0;
00267 virtual void wnad(Float x1, Float x2, Float y1, Float y2) = 0;
00268
00269 };
00270
00271
00272 }
00273
00274 #endif