28 #ifndef G4OPENINVENTORVIEWER_HH 
   29 #define G4OPENINVENTORVIEWER_HH 
   31 #ifdef G4VIS_BUILD_OI_DRIVER 
   42 class Geant4_SoImageWriter;
 
   43 class Geant4_SoGL2PSAction;
 
   44 class G4OpenInventorSceneHandler;
 
   51 class G4OpenInventorViewer: 
public G4VViewer {
 
   57   virtual void KernelVisitDecision();
 
   59   G4OpenInventorViewer(G4OpenInventorSceneHandler& scene,
 
   61   virtual ~G4OpenInventorViewer();
 
   63   virtual void ViewerRender() = 0;
 
   64   virtual SoCamera* GetCamera() = 0;
 
   67   void WritePixmapPostScript(
const G4String& 
file = 
"g4out.ps");
 
   69   void SceneGraphStatistics();
 
   72   void SetPreviewAndFull();
 
   76   void SetReducedWireFrame(
bool);
 
   82   static void GroupCameraSensorCB(
void*,SoSensor*);
 
   83   static void CameraSensorCB(
void*,SoSensor*);
 
   84   static void pointAt(SoCamera*,
const SbVec3f & targetpoint, 
const SbVec3f & upvector);
 
   85   static void lookAt(SoCamera*,
const SbVec3f & 
dir, 
const SbVec3f & up);
 
   86   static void lookedAt(SoCamera*,SbVec3f & 
dir, SbVec3f & up);
 
   93   static void SelectionCB(
void*,SoPath*);
 
   94   G4OpenInventorSceneHandler& fG4OpenInventorSceneHandler;
 
   96   SoSelection* fSoSelection;
 
   97   Geant4_SoImageWriter* fSoImageWriter;
 
   98   Geant4_SoGL2PSAction* fGL2PSAction;
 
   99   SoNodeSensor* fGroupCameraSensor;
 
  100   SoNodeSensor* fCameraSensor;
 
virtual void ClearView()=0
 
virtual void DrawView()=0