00001 #ifndef MAINWINDOW_H 00002 #define MAINWINDOW_H 00003 00004 00005 #include <QMainWindow> 00006 #include "GLWindow.h" 00007 #include <boost/lexical_cast.hpp> 00008 00009 //---------------------------------------------------------------------------------------------------------------------- 00019 00020 namespace Ui { 00021 class MainWindow; 00022 } 00023 00024 class MainWindow : public QMainWindow 00025 { 00026 Q_OBJECT 00027 00028 protected: 00029 void keyPressEvent( 00030 QKeyEvent *_event 00031 ); 00032 void keyReleaseEvent( 00033 QKeyEvent *_event 00034 ); 00035 00036 public: 00037 explicit MainWindow(QWidget *parent = 0); 00038 ~MainWindow(); 00039 00040 private: 00041 Ui::MainWindow *m_ui; 00043 GLWindow *m_gl; 00044 00045 00046 private slots: 00047 //---------------------------------------------------------------------------------------------------------------------- 00051 //---------------------------------------------------------------------------------------------------------------------- 00052 void setUIBuoyancyValues( 00053 float _kRise, 00054 float _kFall 00055 ); 00056 //---------------------------------------------------------------------------------------------------------------------- 00060 //---------------------------------------------------------------------------------------------------------------------- 00061 void setUIDissipationValues( 00062 float _kDensityDiss, 00063 float _kTemperDiss 00064 ); 00065 //---------------------------------------------------------------------------------------------------------------------- 00071 //---------------------------------------------------------------------------------------------------------------------- 00072 void setUIEmitterValues( 00073 ngl::Vec3 _emitterLoc, 00074 float _emitterSize, 00075 float _emitDensityRate, 00076 float _emitTemperatureRate 00077 ); 00078 //---------------------------------------------------------------------------------------------------------------------- 00083 //---------------------------------------------------------------------------------------------------------------------- 00084 void setUIFluidValues( 00085 float _viscosity, 00086 float _gravity, 00087 float _kVorticity 00088 ); 00089 //---------------------------------------------------------------------------------------------------------------------- 00091 //---------------------------------------------------------------------------------------------------------------------- 00092 void setUIObstacleValues(); 00093 //---------------------------------------------------------------------------------------------------------------------- 00097 //---------------------------------------------------------------------------------------------------------------------- 00098 void setUIPressureValues( 00099 float _absoluteTolerance, 00100 float _relaxationRate 00101 ); 00102 //---------------------------------------------------------------------------------------------------------------------- 00109 //---------------------------------------------------------------------------------------------------------------------- 00110 void setUINoiseValues( 00111 float _frequency, 00112 float _octaveCount, 00113 float _persistence, 00114 float _speed, 00115 float _magnitude 00116 ); 00117 //---------------------------------------------------------------------------------------------------------------------- 00122 //---------------------------------------------------------------------------------------------------------------------- 00123 void setUISpriteValues( 00124 int _spriteSize, 00125 float _opacityStrength, 00126 float _shadowStrength 00127 ); 00128 //---------------------------------------------------------------------------------------------------------------------- 00132 //---------------------------------------------------------------------------------------------------------------------- 00133 void setUITimeValues( 00134 float _timeStep, 00135 float _maxFPS 00136 ); 00137 //---------------------------------------------------------------------------------------------------------------------- 00148 //---------------------------------------------------------------------------------------------------------------------- 00149 void setUIVoxelGridValues( 00150 float _gridLengthX, 00151 float _gridLengthY, 00152 float _gridLengthZ, 00153 int _gridBaseRes, 00154 int _gridPrecisionX, 00155 int _gridPrecisionY, 00156 int _gridPrecisionZ, 00157 float _h, 00158 BOUNDARYCONDITION _condition 00159 ); 00160 00161 00162 }; 00163 00164 #endif // MAINWINDOW_H