00001 // vim:set ts=4 sw=4 noet cin: 00002 00003 #ifndef VISMAINUI_H 00004 #define VISMAINUI_H 00005 00006 #include <memory> 00007 00008 #include <QApplication> 00009 #include <QFileDialog> 00010 #include <QFile> 00011 #include <QByteArray> 00012 #include <QPixmap> 00013 #include <QImage> 00014 00015 #include <ARender.h> 00016 #include <Data.h> 00017 #include <Gradient.h> 00018 00019 #include "transferFuncUI.h" 00020 00021 #include "ui_visMainUI.h" 00022 00023 00024 class VisMainUI : public QMainWindow{ 00025 Q_OBJECT 00026 public: 00027 VisMainUI(QWidget *parent = 0); 00028 ~VisMainUI(); 00029 public slots: 00030 00031 void valueChanged(int newVal); 00032 00033 void rendererChanged(const QString& renderer); 00034 00035 void sampleRateChanged(double newVal); 00036 void renderModeChanged(const QString& renderMode); 00037 void interpolationModeChanged(const QString& interpolationMode); 00038 00039 void imgSizeChanged(double newVal); 00040 00041 void bgColorChanged(); 00042 00043 void kSMoved(int); 00044 void kDMoved(int); 00045 void sEMoved(int); 00046 00047 void rotateXMoved(int); 00048 void rotateYMoved(int); 00049 void rotateZMoved(int); 00050 00051 void lightVectorChanged(int); 00052 00053 void lightingEnableChanged(int); 00054 00055 void applyChanges(); 00056 void settingsChanged(); 00057 00058 void axisX(); 00059 void axisY(); 00060 void axisZ(); 00061 00062 00063 00064 void promptFile(); 00065 00066 00067 void newShader(); 00068 00069 void renderImage(); 00070 00071 void setToSlicer(); 00072 void setToRayCaster(); 00073 00074 private: 00075 void setViewerPosition(); 00076 00077 std::auto_ptr<Data> mData; 00078 std::auto_ptr<Gradient> mGradient; 00079 std::auto_ptr<ARender> mRenderer; 00080 00081 std::auto_ptr<QPixmap> mPixmap; 00082 std::auto_ptr<QImage> mImage; 00083 00084 bool mSettingsChanged; 00085 00086 Ui::MainWindow ui; 00087 }; 00088 00089 00090 00091 #endif