Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // 28 // 29 // Jeff Kallenbach 01 Aug 1996 30 // OpenInventor graphics system factory. 31 // Frederick Jones and TJR October 2012 32 // Extended driver based on G4OpenInventorXt.h 33 // Uses G4OpenInventorXtExaminerViewer. 34 35 // this : 36 #include "G4OpenInventorXtExtended.hh" 37 38 #include <Inventor/Xt/SoXt.h> 39 40 #include "G4Xt.hh" 41 #include "G4OpenInventorSceneHandler.hh" 42 #include "G4OpenInventorXtExtendedViewer.hh" 43 #include "G4OpenInventorXtExaminerViewerMessen 44 45 // Work around for gcc8 Coverity cast warning 46 inline bool soxt_dispatch_event(void* a_event) 47 return SoXt::dispatchEvent((XEvent*)a_event 48 } 49 50 G4OpenInventorXtExtended::G4OpenInventorXtExte 51 :G4OpenInventor("OpenInventorXtExtended","OIXE 52 ,fInited(false) 53 { 54 G4OpenInventorXtExaminerViewerMessenger::Ge 55 } 56 57 void G4OpenInventorXtExtended::Initialize() 58 { 59 // G4cout << "DEBUG G4OpenInventorXtExtended 60 if(fInited) return; //Done 61 62 SetInteractorManager (G4Xt::getInstance ()); 63 GetInteractorManager () -> 64 RemoveDispatcher(G4Xt::xt_dispatch_event) 65 // Coverity gcc8 cast warning 66 // RemoveDispatcher((G4DispatchFunction)X 67 GetInteractorManager () -> 68 AddDispatcher(soxt_dispatch_event); 69 // Coverity gcc8 cast warning 70 // AddDispatcher ((G4DispatchFunction)S 71 72 Widget top = (Widget)GetInteractorManager()- 73 G4cout << "TOP LEVEL WIDGET FOR SoXt::init() 74 75 if(std::getenv("XENVIRONMENT")==NULL) { 76 XrmDatabase database = XrmGetDatabase(XtDi 77 if(database!=NULL) { 78 XrmPutLineResource(&database,"*topShadow 79 XrmPutLineResource(&database,"*bottomSha 80 XrmPutLineResource(&database,"*foregroun 81 XrmPutLineResource(&database,"*backgroun 82 XrmPutLineResource(&database,"*borderCol 83 XrmPutLineResource(&database,"*fontList: 84 XrmPutLineResource(&database,"*help_popu 85 XrmPutLineResource(&database,"*helpCance 86 XrmPutLineResource(&database,"*helpText. 87 XrmPutLineResource(&database,"*helpText. 88 XrmPutLineResource(&database,"*helpText. 89 XrmPutLineResource(&database,"*helpText. 90 XrmPutLineResource(&database,"*helpText. 91 XrmPutLineResource(&database,"*helpText. 92 } 93 } 94 95 if(!SoXt::getTopLevelWidget()) SoXt::init(to 96 97 InitNodes(); 98 99 fInited = true; 100 } 101 102 G4OpenInventorXtExtended::~G4OpenInventorXtExt 103 104 G4VViewer* G4OpenInventorXtExtended::CreateVie 105 { 106 // FWJ 107 // Initialize(); 108 G4OpenInventorSceneHandler* pScene = (G4Open 109 return new G4OpenInventorXtExtendedViewer (* 110 } 111