Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 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 // 7 // >> 8 // $Id: G4OpenGLImmediateViewer.cc,v 1.3 1999/12/15 14:54:07 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-03-01 $ 27 // 10 // 28 // 11 // 29 // Andrew Walkden 7th February 1997 12 // Andrew Walkden 7th February 1997 30 // Class G4OpenGLImmediateViewer : Encapsulate 13 // Class G4OpenGLImmediateViewer : Encapsulates the `immediateness' of 31 // an OpenGL vie 14 // an OpenGL view, for inheritance by 32 // derived (X, X 15 // derived (X, Xm...) classes. 33 16 >> 17 #ifdef G4VIS_BUILD_OPENGL_DRIVER >> 18 34 #include "G4OpenGLImmediateViewer.hh" 19 #include "G4OpenGLImmediateViewer.hh" 35 #include "G4OpenGLImmediateSceneHandler.hh" << 20 >> 21 #include <GL/gl.h> >> 22 #include <GL/glx.h> >> 23 #include <GL/glu.h> >> 24 >> 25 #include "G4ios.hh" >> 26 #include <assert.h> >> 27 #include <unistd.h> 36 28 37 G4OpenGLImmediateViewer::G4OpenGLImmediateView 29 G4OpenGLImmediateViewer::G4OpenGLImmediateViewer (G4OpenGLImmediateSceneHandler& scene): 38 G4VViewer (scene, -1), 30 G4VViewer (scene, -1), 39 G4OpenGLViewer (scene) << 31 G4OpenGLViewer (scene), >> 32 fSceneHandler (scene) 40 {} 33 {} 41 34 42 void G4OpenGLImmediateViewer::ProcessView () << 35 #endif 43 { << 44 const G4Planes& cutaways = fVP.GetCutawayPla << 45 G4bool cutawayUnion = fVP.IsCutaway() && << 46 fVP.GetCutawayMode() == G4ViewParameters:: << 47 size_t nPasses = cutawayUnion? cutaways.size << 48 for (size_t i = 0; i < nPasses; ++i) { << 49 << 50 if (cutawayUnion) { << 51 double a[4]; << 52 a[0] = cutaways[i].a(); << 53 a[1] = cutaways[i].b(); << 54 a[2] = cutaways[i].c(); << 55 a[3] = cutaways[i].d(); << 56 glClipPlane (GL_CLIP_PLANE2, a); << 57 glEnable (GL_CLIP_PLANE2); << 58 } << 59 << 60 NeedKernelVisit (); // Always need to vis << 61 G4VViewer::ProcessView (); << 62 << 63 if (cutawayUnion) glDisable (GL_CLIP_PLANE << 64 } << 65 } << 66 36