00001
00002
00003 #ifndef GRAPH3D_H
00004 #define GRAPH3D_H
00005
00006 #include <qtextstream.h>
00007 #include <qprogressdialog.h>
00008 #include "Graph.h"
00009 #include "LRange.h"
00010 #include "Point3D.h"
00011
00012 class Graph3D: public Graph
00013 {
00014 public:
00015 Graph3D(QString n=QString(""), QString l=QString(""), LRange r[3]=0, LSource src=SFUNCTION, PType t=P3D,
00016 Style *st=0, Symbol *sy=0, Point3D *p=0, int nrx=0, int nry=0, bool s=true);
00017 ~Graph3D();
00018 Graph3D *Clone();
00019 Point3D *Data() { return ptr; }
00020 void setData(Point3D *data) { ptr = data; }
00021 LRange Range(int i) { return range[i]; }
00022 void setRange(LRange r[3]) { range[0]=r[0];range[1]=r[1];range[2]=r[2]; }
00023 int NX() { return nx; }
00024 int NY() { return ny; }
00025 void setNumberX(int n) { nx = n; }
00026 void setNumberY(int n) { ny = n; }
00027 void save(QTextStream *t, QProgressDialog *progress);
00028 void open(QTextStream *t,int version, QProgressDialog *progress);
00029 void saveXML(QDomDocument doc, QDomElement graphtag);
00030 void openXML(QDomNode node);
00031 QStringList Info();
00032 LRange ErrorDYRange();
00033 private:
00034 LRange range[3];
00035 int nx, ny;
00036 Point3D *ptr;
00037 };
00038
00039 #endif // GRAPH3D_H