32 #ifndef G4OPENINVENTORXTEXTENDEDVIEWER_HH 
   33 #define G4OPENINVENTORXTEXTENDEDVIEWER_HH 
   35 #ifdef G4VIS_BUILD_OI_DRIVER 
   40 #include <X11/Intrinsic.h> 
   41 #include <Inventor/nodes/SoEventCallback.h> 
   45 class G4OpenInventorXtExtendedViewer: 
public G4OpenInventorViewer {
 
   47   virtual void FinishView();
 
   48   virtual void SetView();
 
   50   virtual void ViewerRender();
 
   51   virtual SoCamera* GetCamera();
 
   53   G4OpenInventorXtExtendedViewer(G4OpenInventorSceneHandler& scene,
 
   57   virtual ~G4OpenInventorXtExtendedViewer();
 
   60   void AddButton(Widget,
const G4String&,XtCallbackProc);
 
   62   static void PostScriptCbk(Widget,XtPointer,XtPointer);
 
   63   static void PixmapPostScriptCbk(Widget,XtPointer,XtPointer);
 
   64   static void WriteInventorCbk(Widget,XtPointer,XtPointer);
 
   65   static void LoadInventorCbk(Widget,XtPointer,XtPointer);
 
   66   static void EscapeCbk(Widget,XtPointer,XtPointer);
 
   67   static void EscapeFromKeyboardCbk(
void * o);
 
   68   static void SceneGraphStatisticsCbk(Widget,XtPointer,XtPointer);
 
   69   static void EraseDetectorCbk(Widget,XtPointer,XtPointer);
 
   70   static void EraseEventCbk(Widget,XtPointer,XtPointer);
 
   71   static void SetSolidCbk(Widget,XtPointer,XtPointer);
 
   72   static void SetWireFrameCbk(Widget,XtPointer,XtPointer);
 
   73   static void SetReducedWireFrameCbk(Widget,XtPointer,XtPointer);
 
   74   static void SetFullWireFrameCbk(Widget,XtPointer,XtPointer);
 
   75   static void UpdateSceneCbk(Widget,XtPointer,XtPointer);
 
   76   static void HelpCbk(Widget,XtPointer,XtPointer);
 
   77   static void HelpCancelCbk(Widget,XtPointer,XtPointer);
 
   78   static void SetPreviewCbk(Widget,XtPointer,XtPointer);
 
   79   static void SetPreviewAndFullCbk(Widget,XtPointer,XtPointer);