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 PDFCbk(Widget,XtPointer,XtPointer);
64 static void PixmapPostScriptCbk(Widget,XtPointer,XtPointer);
65 static void WriteInventorCbk(Widget,XtPointer,XtPointer);
66 static void LoadInventorCbk(Widget,XtPointer,XtPointer);
67 static void EscapeCbk(Widget,XtPointer,XtPointer);
68 static void EscapeFromKeyboardCbk(
void * o);
69 static void SceneGraphStatisticsCbk(Widget,XtPointer,XtPointer);
70 static void EraseDetectorCbk(Widget,XtPointer,XtPointer);
71 static void EraseEventCbk(Widget,XtPointer,XtPointer);
72 static void SetSolidCbk(Widget,XtPointer,XtPointer);
73 static void SetWireFrameCbk(Widget,XtPointer,XtPointer);
74 static void SetReducedWireFrameCbk(Widget,XtPointer,XtPointer);
75 static void SetFullWireFrameCbk(Widget,XtPointer,XtPointer);
76 static void UpdateSceneCbk(Widget,XtPointer,XtPointer);
77 static void HelpCbk(Widget,XtPointer,XtPointer);
78 static void HelpCancelCbk(Widget,XtPointer,XtPointer);
79 static void SetPreviewCbk(Widget,XtPointer,XtPointer);
80 static void SetPreviewAndFullCbk(Widget,XtPointer,XtPointer);