00001 /* $Id: ssMultibeamWindow.h,v 1.20 2005/11/02 03:55:45 pfb Exp $ */ 00002 00003 #ifndef _ssMultibeamWindow_h 00004 #define _ssMultibeamWindow_h 00005 00010 #include <vtkKWWindow.h> 00011 00012 class vtkKWMenu; 00013 class vtkPVRenderView; 00014 class vtkPVInteractorStyle; 00015 class ssMultibeamApplication; 00016 class ssMultibeamRenderView; 00017 class ssMultibeamPlanRenderView; 00018 class ssMultibeamAcrossBathymetryRenderView; 00019 class ssMultibeamAlongBathymetryRenderView; 00020 class vtkKWToolbar; 00021 class vtkKWPushButton; 00022 class vtkKWUserInterfaceNotebookManager; 00023 00028 class ssMultibeamWindow : public vtkKWWindow 00029 { 00030 //**************************************************************************** 00031 public: 00032 00038 static ssMultibeamWindow *New(); 00039 00043 vtkTypeMacro(ssMultibeamWindow, 00044 vtkKWWindow); 00045 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 00058 virtual void Create(vtkKWApplication *app, char *args); 00059 00065 virtual vtkKWUserInterfaceManager* GetUserInterfaceManager(); 00066 00071 ssMultibeamRenderView *PlanView() const; 00072 00077 ssMultibeamRenderView *AlongTrackBathymetryView() const; 00078 00083 ssMultibeamRenderView *AcrossTrackBathymetryView() const; 00084 00085 //**************************************************************************** 00086 protected: 00087 00091 ssMultibeamWindow(); 00092 00096 virtual ~ssMultibeamWindow(); 00097 00101 void PrepareForDelete(); 00102 00106 void UpdateStatusImage(); 00107 00112 ssMultibeamApplication *GetMultibeamApplication(); 00113 00118 void InitializeMenus(vtkKWApplication* app); 00119 00124 void CreatePlanView(ssMultibeamApplication *app); 00125 00130 void CreateAlongTrackBathymetryView(ssMultibeamApplication *app); 00131 00136 void CreateAcrossTrackBathymetryView(ssMultibeamApplication *app); 00137 00141 void InitializeRenderFrames(); 00142 00147 void InteractorTclName(const char *name); 00148 00153 const char *InteractorTclName() const; 00154 00160 void CenterSourceTclName(const char *name); 00161 00167 void CenterMapperTclName(const char *name); 00168 00174 void CenterActorTclName(const char *name); 00175 00176 const char *interactorTclName; 00177 00178 // The various RenderViews. 00182 ssMultibeamPlanRenderView *planView; 00183 00187 ssMultibeamAcrossBathymetryRenderView *acrossTrackBathymetryView; 00188 00192 ssMultibeamAlongBathymetryRenderView *alongTrackBathymetryView; 00193 00194 // The split frames in the graphics frame. 00199 vtkKWSplitFrame *horizontalFrame; 00200 00205 vtkKWSplitFrame *verticalFrame; 00206 00210 vtkKWUserInterfaceNotebookManager *userInterfaceManager; 00211 00212 //vtkAxes *CenterSource; 00213 char *centerSourceTclName; 00214 //vtkPolyDataMapper *CenterMapper; 00215 char *centerMapperTclName; 00216 //vtkActor *CenterActor; 00217 char *centerActorTclName; 00218 00219 //**************************************************************************** 00220 private: 00221 00225 ssMultibeamWindow(const ssMultibeamWindow& ); 00226 ssMultibeamWindow& operator=(const ssMultibeamWindow& ); 00227 00228 }; 00229 00233 #endif 00234 00235 /* 00236 * $Log: ssMultibeamWindow.h,v $ 00237 * Revision 1.20 2005/11/02 03:55:45 pfb 00238 * Fixed doxygen tags. 00239 * 00240 * Revision 1.19 2005/05/10 17:08:00 pfb 00241 * Added module info. 00242 * 00243 * Revision 1.18 2004/09/28 02:53:03 pfb 00244 * Corrected data types. 00245 * 00246 * Revision 1.17 2004/08/24 04:57:53 pfb 00247 * Moved PlanView(), AlongTrackBathymetryView() and AcrossTrackBathymetryView() 00248 * from protected to public. 00249 * 00250 * Revision 1.16 2004/08/20 05:11:47 pfb 00251 * Cleaned out krud. 00252 * 00253 * Revision 1.15 2004/06/29 06:42:22 pfb 00254 * Corrected parameter name. 00255 * 00256 * Revision 1.14 2004/06/06 18:12:01 pfb 00257 * Added CenterSourceTclName(), CenterMapperTclName() and CenterActorTclName(). 00258 * 00259 * Revision 1.13 2004/05/22 12:24:19 pfb 00260 * Work in progress. 00261 * 00262 * Revision 1.12 2004/04/27 12:11:03 pfb 00263 * Work in progress. 00264 * 00265 * Revision 1.11 2004/03/30 12:21:03 pfb 00266 * Moved to ssMultibeamPlanRenderView. 00267 * 00268 * Revision 1.10 2004/03/24 04:25:08 pfb 00269 * Work in progress. Added some RenderViews. 00270 * 00271 * Revision 1.9 2004/03/07 15:41:20 pfb 00272 * Added GetUserInterfaceManager(). 00273 * 00274 * Revision 1.8 2004/02/21 12:16:00 pfb 00275 * Small changes. Work in progress. 00276 * 00277 * Revision 1.7 2004/02/19 07:21:03 pfb 00278 * Added Toolbar. 00279 * 00280 * Revision 1.6 2004/02/18 05:29:22 pfb 00281 * Added documentation. 00282 * 00283 * Revision 1.5 2004/02/15 16:20:48 pfb 00284 * Moved from MultibeamWindow to ssMultibeamWindow. 00285 * 00286 * Revision 1.4 2004/02/01 16:51:22 pfb 00287 * Work in progress. 00288 * 00289 * Revision 1.3 2004/01/07 07:26:53 pfb 00290 * Work in progress. Added functionality. Compiles. 00291 * 00292 * Revision 1.2 2004/01/04 14:33:32 pfb 00293 * Added UpdateStatusImage() and GetMultibeamApplication(). 00294 * 00295 * Revision 1.1 2003/12/27 14:21:35 pfb 00296 * Initial rev. 00297 * 00298 * 00299 */ 00300