// This code implementation is the intellectual property of // the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // // $Id: G4OpenInventorViewer.hh,v 1.7 2001/02/23 15:43:12 johna Exp $ // GEANT4 tag $Name: geant4-03-01 $ // // // Jeff Kallenbach 01 Aug 1996 // OpenInventor viewer - opens window, hard copy, etc. #ifndef G4OPENINVENTORVIEWER_HH #define G4OPENINVENTORVIEWER_HH #ifdef G4VIS_BUILD_OI_DRIVER #include #include "G4VViewer.hh" class SoXtComponent; class SoSelection; class SoWindow; class G4OpenInventorSceneHandler; class G4VInteractorManager; // // Base class for various OpenInventorView classes. // class G4OpenInventorViewer: public G4VViewer { public: G4OpenInventorViewer (G4OpenInventorSceneHandler& scene, const G4String& name = ""); virtual ~G4OpenInventorViewer (); void DrawView (); void ShowView (); private: void ClearView (); void FinishView (); void SetView (); void KernelVisitDecision (); G4OpenInventorSceneHandler& fSceneHandler; // Graphics Scene for this view. Widget fShell; SoWindow* fWindow; SoXtComponent* fViewer; // The Inventor Viewer SoSelection* fSelection; G4VInteractorManager* fInteractorManager; }; #endif #endif