00001 #ifndef RAYCASTINGWIDGET_H 00002 #define RAYCASTINGWIDGET_H 00003 00004 #include <QtGui> 00005 #include <QWidget> 00006 00017 00018 class RayCastingWidget : public QWidget 00019 { 00020 Q_OBJECT 00021 00022 private: 00023 QSlider* slider; 00024 QRadioButton* compositing; 00025 QRadioButton* average; 00026 QRadioButton* mip; 00027 QButtonGroup* modeGroup; 00028 QCheckBox* light; 00029 00040 00041 void Init(); 00042 00043 public: 00044 RayCastingWidget(QWidget *parent=NULL); 00045 ~RayCastingWidget(); 00046 00047 protected slots: 00048 void StepSizeSliderValueChanged(int value){emit StepSizeChanged((float)value/100.f);} 00049 void ShadeModeCheckBoxChanged(int value){emit ShadeModeChanged(light->isChecked());} 00050 public slots: 00051 00062 00063 void CheckedMode(){emit CompositingModeChanged(modeGroup->checkedId());} 00064 00065 signals: 00066 00079 00080 void StepSizeChanged(float value); 00081 00094 00095 void CompositingModeChanged(int id); 00096 00109 00110 void ShadeModeChanged(bool shade); 00111 }; 00112 00113 #endif // RAYCASTINGWIDGET_H