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>
45class 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);