00001 // -*- C++ -*- 00002 /*************************************************************************** 00003 * 00004 * The IPPL Framework 00005 * 00006 * 00007 * Visit http://people.web.psi.ch/adelmann/ for more details 00008 * 00009 ***************************************************************************/ 00010 00011 // 00012 // README: Portions of this file are merged at file generation 00013 // time. Edits can be made *only* in between specified code blocks, look 00014 // for keywords <Begin user code> and <End user code>. 00015 // 00017 // 00018 // Header file for VTKWindow 00019 // 00020 // Created by Builder Xcessory 4.0. 00021 // Generated by Code Generator Xcessory 2.0 (09/09/96). 00022 // 00023 // This class is a user interface "component", as described 00024 // in "Object-Oriented Programming with C++ and OSF/Motif", 00025 // by Douglas Young, Prentice Hall, 1992. ISBN 0-13-630252-1 00026 // 00028 00029 #ifndef ACLVIS_VTKWINDOW_H 00030 #define ACLVIS_VTKWINDOW_H 00031 00032 #include "aclvis/UIComponent.h" 00033 00034 // 00035 // Globally included information (change thru Output File Names Dialog). 00036 // 00037 00038 00039 // 00040 // Class Specific Includes (change thru the class in Resource Editor). 00041 // 00042 00043 00044 00045 // Begin user code block <head> 00046 /* 00047 * $Revision: 1.1.1.1 $ 00048 * 00049 * File: VTKWindow.h 00050 * Date: $Date: 2003/01/23 07:40:34 $ 00051 * Author: Patrick McCormick 00052 * James Ahrens 00053 * Advanced Computing Lab 00054 * Los Alamos National Laboratory 00055 * 00056 * This file contains the base modification of a BX generated class 00057 * for supporting BX/VTK based applications. All the modifications 00058 * required for use with VTK have been made within the user code 00059 * blocks so users can safely copy this file into their source 00060 * directory and extend it as desired. 00061 * 00062 * Please note that we have made some internal modification to 00063 * BX in order to fully support this class. At LANL you must 00064 * use the VTK C++ code generation option within BX to have 00065 * the application work correctly. 00066 * 00067 */ 00068 00069 00070 // Forward declaractions for VTK objects. 00071 class vtkXRenderWindow; 00072 class vtkRenderer; 00073 class vtkXRenderWindowInteractor; 00074 00075 // End user code block <head> 00076 00077 class VTKWindow : public UIComponent 00078 00079 // Begin user code block <superclass> 00080 // End user code block <superclass> 00081 { 00082 00083 public: 00084 00085 VTKWindow(const char *, Widget); 00086 VTKWindow(const char *); 00087 virtual ~VTKWindow(); 00088 virtual void create(Widget); 00089 const char *const className(); 00090 Widget _VTKWindow; 00091 00092 // Begin user code block <public> 00093 // End user code block <public> 00094 protected: 00095 // Classes created by this class 00096 00097 // Widgets created by this class 00098 //Widget _VTKWindow; 00099 00100 // These virtual functions are called from the private callbacks 00101 // or event handlers intended to be overridden in derived classes 00102 // to define actions 00103 00104 virtual void windowResized(Widget, XtPointer, XtPointer); 00105 virtual void refreshWindow(Widget, XtPointer, XtPointer); 00106 00107 // Begin user code block <protected> 00108 // End user code block <protected> 00109 private: 00110 00111 // 00112 // Default application and class resources. 00113 // 00114 static String _defaultVTKWindowResources[]; 00115 static UIAppDefault _appDefaults[]; 00116 static Boolean _initAppDefaults; 00117 // 00118 // Callback client data. 00119 // 00120 UICallbackStruct *_clientDataStructs; 00121 00122 // 00123 // Callbacks to interface with Motif. 00124 // 00125 static void windowResizedCallback(Widget, XtPointer, XtPointer); 00126 static void refreshWindowCallback(Widget, XtPointer, XtPointer); 00127 00128 // Begin user code block <private> 00129 vtkXRenderWindow *renderWindow; 00130 vtkRenderer *renderer; 00131 vtkXRenderWindowInteractor *interactor; 00132 // End user code block <private> 00133 }; 00134 00135 // Begin user code block <tail> 00136 // End user code block <tail> 00137 #endif // ACLVIS_VTKWINDOW_H 00138 00139 /*************************************************************************** 00140 * $RCSfile: VTKWindow.h,v $ $Author: adelmann $ 00141 * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:34 $ 00142 * IPPL_VERSION_ID: $Id: VTKWindow.h,v 1.1.1.1 2003/01/23 07:40:34 adelmann Exp $ 00143 ***************************************************************************/ 00144