00001 00002 #ifndef _OPTIONPANEL_ 00003 #define _OPTIONPANEL_ 00004 00005 #include <glui.h> 00006 00007 #include "LifeVariables.h" 00008 00009 using namespace std; 00010 00011 class OptionPanel { 00012 private: 00017 GLUI *panel; 00018 00020 GLUI_Panel *alignmentPanel; 00021 00023 GLUI_Panel *slicingPanel; 00024 00026 GLUI_RadioGroup *planeSelectorGroup; 00027 00029 GLUI_Panel *sliceSpinnerPanel; 00030 00032 GLUI_Spinner *selectedSliceSpinner; 00033 00035 GLUI_StaticText *maxSlicesText; 00036 00038 GLUI_RadioGroup *interpolationSelectorGroup; 00039 00041 GLUI_Panel *volumePanel; 00042 00044 GLUI_Panel *thresholdSpinnerPanel; 00045 00047 GLUI_Spinner *lowerThresholdSpinner; 00048 00050 GLUI_Panel *viewpointPanel; 00051 00053 GLUI_RadioGroup *viewpointGroup; 00054 00055 00057 GLUI_Panel *lightPositionPanel; 00058 00059 GLUI_EditText *lightXPosition; 00060 GLUI_EditText *lightYPosition; 00061 GLUI_EditText *lightZPosition; 00062 00063 00065 GLUI_RadioGroup *txFunctionSelectorGroup; 00066 00068 GLUI_Button *switchModeBtn; 00069 00071 GLUI_Button *refreshBtn; 00072 00074 GLUI_RadioGroup *volumeInterpolationSelectorGroup; 00075 00076 public: 00077 00087 int renderMode; 00088 00098 int selectedPlane; 00099 00108 int selectedSlice; 00109 00119 int interpolationMode; 00120 00127 int volumeInterpolationMode; 00128 00134 int txFunction; 00135 00141 int currLowerThreshold; 00142 00146 int viewingDirection; 00147 00151 float lightX; 00152 00156 float lightY; 00157 00158 00162 float lightZ; 00163 00164 00165 00167 OptionPanel(int mainWindowRef=0, int position=0); 00168 00170 void enable(); 00171 00173 void disable(); 00174 00182 void switchRenderMode(int mode); 00183 00185 void updateSliceMax(int valX, int valY, int valZ); 00186 00187 00189 void incSlice(); 00190 00192 void decSlice(); 00193 00195 void disableMipSpinners(); 00196 00198 void enableMipSpinners(); 00199 00201 void enableModeSelection(); 00202 00204 void disableModeSelection(); 00205 00206 00207 }; 00208 #endif