$Id: History,v 1.15 2001/08/24 20:28:15 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
-------------------------------------

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.
