$Id: History,v 1.16 2002/02/24 01:47:46 johna Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= Category History file --------------------- This file should be used by G4 developers and category coordinators to briefly summarize all major modifications introduced in the code and keep track of all category-tags. It DOES NOT substitute the CVS log-message one should put at every committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- History file for visualization/OpenGL ------------------------------------- 23rd February 2002 John Allison (opengl-V04-00-01) - Changes to encourage compilation on Windows in preparation for implementation of G4OpenGLWin32Viewer. Removed spurious includes of glx.h, unistd.h and assert.h. 24th August 2001 John Allison (vis-V03-02-13) - Limited the printing of warnings in G4OpenGLSceneHandler::AddPrimitive (const G4Text& text). 14th August 2001 John Allison (vis-V03-02-11) - Improved KernelVisitDecision. - Fixed a few small bugs in multiple "stored" viewers, but see next item. - There's an outstanding bug in OpenGL Stored. If there is more than one viewer controlled by a scene handler, after a ClearStore on the scene handler, e.g., with /vis/scene/notifyHandlers, the first viewer to get refreshed should trigger the display list rebuild, but the second need not. However, when the second viewer's turn comes, the display lists are there, and are called, e.g., G4OpenGLStoredXViewer::DrawView calls G4OpenGLStoredViewer::DrawDisplayLists that calls glCallList, but nothing appears on the screen. To overcome this there is some temporary code in G4VViewer::NeedKernelVisit which marks *all* viewers to force a rebuild. To see the symptoms, comment out that temporary code and issue these commands: /vis/verbose c /control/verbose 2 /vis/scene/create /vis/scene/add/volume /vis/sceneHandler/create OGLSX /vis/viewer/create ! ! 1 /run/beamOn /vis/viewer/create ! ! 1 /vis/viewer/select viewer-0 /vis/viewer/viewpointThetaPhi 20 20 /vis/viewer/select viewer-1 /vis/viewer/viewpointThetaPhi 40 40 /vis/viewer/set/style surface /vis/viewer/refresh /vis/viewer/select viewer-0 /vis/viewer/refresh /vis/viewer/select viewer-1 /vis/viewer/set/style wireframe /vis/scene/notifyHandlers You may have to do this too: /vis/viewer/select viewer-0 /vis/scene/notifyHandlers One of the viewers is empty. Curious!! 9th August 2001 John Allison (vis-V03-02-10-00) - Implemented G4OpenGLStoredSceneHandler::ClearTransientStore() - Removed G4OpenGLSceneHandler::AddPrimitive (const G4Polymarker&) (it only invoked G4VSceneHandler::AddPrimitive (const G4Polymarker&) which is picked up by inheritance anyway. - Removed lots of unnecessary header files from G4OpenGLStoredSceneHandler.cc. - Corrected order of calling base class functions in G4OpenGLStoredSceneHandler::Begin/EndModeling. 24th July 2001 John Allison (vis-V03-02-06) - G4OpenGLSceneHandler::AddPrimitive (const G4Text&) handles transformation. 14th July 2001 John Allison (opengl-V03-02-00) - Fixed crash in optimised mode: added Initialise() to viewers so that windows are opened after viewers are fully constructed. 2nd April 2001 John Allison (opengl-V03-00-01 wrt vis-V03-00-09) - Tidied G4OpenGLXmViewer callback code. Removed superfluous header files. 7th March 2001 John Allison - Changed char* to const char* in many places and that gave problems in calls to Xt and Xm. Hope all's OK. Differences: cvs diff -r vis-V03-00-06 vis-V03-00-07 25th January 2001 John Allison (opengl-V03-00-00) - Implemented running re-calculation of up-vector in the case of "object rotation" (lights move with camera) to prevent "flipping" of view when camera passes through up-vector. Note that the default is "camera rotation" (lights do not move with camera, i.e., remain fixed relative to object) so the default is that this "flipping" can happen. To set "object rotation" (lights move with camera) use /vis/lights/move_with_camera true (soon to be /vis/viewer/set/lights move-with-camera) or click "Object" radio button on Rotation Panel in OpenGLXm mode. - Changed some objects to references for efficiency. E.g.: const G4Vector3D& vp = pView->fVP.GetViewpointDirection ().unit (); 22nd May 2000 John Allison (opengl-V01-01-00) - Fixed slow response of 2nd window of OpenGLXm. Worked around Mesa bug by sharing static visuals in G4OpenGLXViewer (Guy Barrand): static XVisualInfo* vi_single_buffer; static XVisualInfo* vi_double_buffer; - Removed ChooseVisual from G4OpenGLXmViewer.cc - done in base class G4OpenGLXViewer. - Protected double deletion of window in destructors of G4OpenGLXmViewer and G4OpenGLXViewer (Guy Barrand). - Changed requested bits per colour to r,g,b = 1,1,1 in G4OpenGLViewer.cc. - Corrected order of CreateMainWindow() and InitializeGLView() in X*Viewer constructors.