- Timestamp:
- Nov 9, 2007, 3:32:25 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc
r554 r593 25 25 // 26 26 // 27 // $Id: G4OpenGLImmediateSceneHandler.cc,v 1.2 4 2006/09/04 12:03:25allison Exp $28 // GEANT4 tag $Name: geant4-0 8-02-patch-01 $27 // $Id: G4OpenGLImmediateSceneHandler.cc,v 1.27 2007/04/04 16:50:26 allison Exp $ 28 // GEANT4 tag $Name: geant4-09-00-ref-01 $ 29 29 // 30 30 // … … 47 47 #include "G4OpenGLTransform3D.hh" 48 48 #include "G4Polyline.hh" 49 #include "G4Polymarker.hh" 50 #include "G4Text.hh" 49 51 #include "G4Circle.hh" 50 52 #include "G4Square.hh" 51 52 G4OpenGLImmediateSceneHandler::G4OpenGLImmediateSceneHandler (G4VGraphicsSystem& system, 53 const G4String& name): 54 G4OpenGLSceneHandler (system, fSceneIdCount++, name) 53 #include "G4Scale.hh" 54 #include "G4Polyhedron.hh" 55 56 G4OpenGLImmediateSceneHandler::G4OpenGLImmediateSceneHandler 57 (G4VGraphicsSystem& system,const G4String& name): 58 G4OpenGLSceneHandler (system, fSceneIdCount++, name) 55 59 {} 56 60 … … 62 66 void G4OpenGLImmediateSceneHandler::AddPrimitivePreamble(const G4Visible& visible) 63 67 { 68 if (fpViewer->GetViewParameters().IsPicking()) { 69 glLoadName(++fPickName); 70 fPickMap[fPickName] = 0; 71 } 72 64 73 const G4Colour& c = GetColour (visible); 65 74 glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); … … 72 81 } 73 82 83 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Polymarker& polymarker) 84 { 85 AddPrimitivePreamble(polymarker); 86 G4OpenGLSceneHandler::AddPrimitive(polymarker); 87 } 88 89 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Text& text) 90 { 91 // Note: colour is still handled in 92 // G4OpenGLSceneHandler::AddPrimitive(const G4Text&). 93 AddPrimitivePreamble(text); 94 G4OpenGLSceneHandler::AddPrimitive(text); 95 } 96 74 97 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Circle& circle) 75 98 { … … 84 107 } 85 108 109 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Scale& scale) 110 { 111 AddPrimitivePreamble(scale); 112 G4OpenGLSceneHandler::AddPrimitive(scale); 113 } 114 115 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) 116 { 117 // Note: colour is still handled in 118 // G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&). 119 AddPrimitivePreamble(polyhedron); 120 G4OpenGLSceneHandler::AddPrimitive(polyhedron); 121 } 122 123 void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4NURBS& nurbs) 124 { 125 // Note: colour is still handled in 126 // G4OpenGLSceneHandler::AddPrimitive(const G4NURBS&). 127 AddPrimitivePreamble(nurbs); 128 G4OpenGLSceneHandler::AddPrimitive(nurbs); 129 } 130 86 131 void G4OpenGLImmediateSceneHandler::BeginPrimitives 87 132 (const G4Transform3D& objectTransformation) { 88 G4 VSceneHandler::BeginPrimitives (objectTransformation);133 G4OpenGLSceneHandler::BeginPrimitives (objectTransformation); 89 134 glPushMatrix(); 90 135 G4OpenGLTransform3D oglt (objectTransformation); … … 110 155 glFlush (); 111 156 112 G4 VSceneHandler::EndPrimitives ();157 G4OpenGLSceneHandler::EndPrimitives (); 113 158 } 114 159 115 160 void G4OpenGLImmediateSceneHandler::BeginPrimitives2D() 116 161 { 117 G4 VSceneHandler::BeginPrimitives2D();162 G4OpenGLSceneHandler::BeginPrimitives2D(); 118 163 119 164 // Push current 3D world matrices and load identity to define screen … … 122 167 glPushMatrix(); 123 168 glLoadIdentity(); 124 glOrtho (-1., 1., -1., 1., - DBL_MAX,DBL_MAX);169 glOrtho (-1., 1., -1., 1., -G4OPENGL_DBL_MAX, G4OPENGL_DBL_MAX); 125 170 glMatrixMode (GL_MODELVIEW); 126 171 glPushMatrix(); … … 139 184 glFlush (); 140 185 141 G4 VSceneHandler::EndPrimitives2D ();186 G4OpenGLSceneHandler::EndPrimitives2D (); 142 187 } 143 188 … … 151 196 152 197 void G4OpenGLImmediateSceneHandler::ClearTransientStore () { 198 153 199 G4VSceneHandler::ClearTransientStore (); 200 154 201 // Make sure screen corresponds to graphical database... 155 202 if (fpViewer) {
Note: See TracChangeset
for help on using the changeset viewer.