00001 00011 #ifndef __RENDERER__ 00012 #define __RENDERER__ 00013 #pragma once 00014 00015 #include <QDialog> 00016 #include <QApplication> 00017 #include <QFont> 00018 #include <QPushButton> 00019 #include <QGridLayout> 00020 #include <QPainter> 00021 #include "volume.h" 00022 #include "globals.h" 00023 #include "vector.h" 00024 #include "./camera.h" 00025 #include "./IRenderMode.h" 00026 00032 class Renderer : 00033 public QWidget 00034 { 00035 public: 00036 00037 Renderer(QWidget *parent = 0); 00038 ~Renderer(void); 00039 Camera *pCamera; 00040 void redraw(); 00041 void rotateCamera(Vector v, float x,float y, float z); 00042 void setRenderMode(IRenderMode *RM); 00043 void setResolution(QString res); 00044 void setFilter(FILTER FL); 00045 bool realTimeUpdateable(void) { return RenderMode->isRealtime();}; 00046 QImage getImage(void) {return image;}; 00047 void redrawRefinement(void); 00048 protected: 00049 void paintEvent(QPaintEvent *event); 00050 IRenderMode *RenderMode; 00051 FILTER mFilter; 00052 QWidget *pParent; 00053 00054 00055 private: 00056 bool antialiased; 00057 QImage image; 00058 }; 00059 00060 #endif