00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVLODRenderModuleUI.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00021 #ifndef __vtkPVLODRenderModuleUI_h 00022 #define __vtkPVLODRenderModuleUI_h 00023 00024 #include "vtkPVRenderModuleUI.h" 00025 00026 class vtkKWLabel; 00027 class vtkKWPushButton; 00028 class vtkKWRadioButton; 00029 class vtkKWFrameWithLabel; 00030 class vtkKWFrame; 00031 class vtkKWScale; 00032 class vtkKWCheckButton; 00033 class vtkMultiProcessController; 00034 class vtkPVApplication; 00035 class vtkPVCameraIcon; 00036 class vtkPVData; 00037 class vtkPVInteractorStyleControl; 00038 class vtkPVLODRenderModuleUIObserver; 00039 class vtkPVSource; 00040 class vtkPVSourceList; 00041 class vtkPVSourcesNavigationWindow; 00042 class vtkPVTreeComposite; 00043 class vtkPVWindow; 00044 00045 class VTK_EXPORT vtkPVLODRenderModuleUI : public vtkPVRenderModuleUI 00046 { 00047 public: 00048 static vtkPVLODRenderModuleUI* New(); 00049 vtkTypeRevisionMacro(vtkPVLODRenderModuleUI,vtkPVRenderModuleUI); 00050 void PrintSelf(ostream& os, vtkIndent indent); 00051 00053 virtual void Create(vtkKWApplication *app); 00054 00056 00057 void RenderInterruptsEnabledCheckCallback(); 00058 void SetRenderInterruptsEnabled(int state); 00060 00062 00063 void LODThresholdScaleCallback(); 00064 void LODThresholdLabelCallback(); 00065 void LODCheckCallback(); 00067 00069 00071 void SetLODThreshold(float); 00072 vtkGetMacro(LODThreshold, float); 00073 vtkBooleanMacro(LODThreshold, float); 00075 00077 00078 void LODResolutionScaleCallback(); 00079 void LODResolutionLabelCallback(); 00081 00084 void SetLODResolutionInternal(int threshold); 00085 00087 00089 void SetLODResolution(int); 00090 vtkGetMacro(LODResolution, int); 00091 vtkBooleanMacro(LODResolution, int); 00093 00095 00096 void OutlineThresholdScaleCallback(); 00097 // Interactive scale callback 00098 void OutlineThresholdLabelCallback(); 00100 00103 void SetOutlineThreshold(float); 00104 00107 void SetOutlineThresholdInternal(float threshold); 00108 00109 00111 virtual void SaveState(ofstream *file); 00112 00119 virtual void UpdateEnableState(); 00120 00121 protected: 00122 vtkPVLODRenderModuleUI(); 00123 ~vtkPVLODRenderModuleUI(); 00124 00125 int UseReductionFactor; 00126 00127 vtkKWFrameWithLabel *LODFrame; 00128 vtkKWCheckButton *RenderInterruptsEnabledCheck; 00129 00130 vtkKWFrame* LODScalesFrame; 00131 vtkKWLabel* LODThresholdLabel; 00132 vtkKWCheckButton* LODCheck; 00133 vtkKWScale* LODThresholdScale; 00134 vtkKWLabel* LODThresholdValue; 00135 vtkKWLabel* LODResolutionLabel; 00136 vtkKWScale* LODResolutionScale; 00137 vtkKWLabel* LODResolutionValue; 00138 vtkKWLabel* OutlineThresholdLabel; 00139 vtkKWScale* OutlineThresholdScale; 00140 vtkKWLabel* OutlineThresholdValue; 00141 00142 float LODThreshold; 00143 int LODResolution; 00144 int RenderInterruptsEnabled; 00145 00146 vtkPVLODRenderModuleUI(const vtkPVLODRenderModuleUI&); // Not implemented 00147 void operator=(const vtkPVLODRenderModuleUI&); // Not implemented 00148 }; 00149 00150 00151 #endif