$Id: History,v 1.155 2010/10/07 07:31:43 allison 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 *
     ----------------------------------------------------------

      --------------------------------------------------------
      * Started 31st May 2005.  Hitherto, management history *
      * has been in the top visualization history file.      *
      --------------------------------------------------------

History file for visualization management sub-category
------------------------------------------------------

4th November 2010  Laurent Garnier Allison
- Added initialization of fGeometryMask (according to coverity.cern.ch)

6th October 2010  John Allison  (visman-V09-03-12)
- Added /vis/viewer/set/defaultColour and /vis/viewer/set/defaultTextColour.

3rd September 2010  Gabriele Cosmo  (visman-V09-03-11)
- Added missing inclusion of <sstream> header in G4ViewParameters.cc.

15th June 2010  John Allison  (visman-V09-03-10)
- G4VisCommandsGeometrySet.hh: Added virtual destructors to fix
  compilation warnings.
- G4VisCommandsGeometrySet.cc: Changed "/vis/viewer/rebuild" to
  "/vis/scene/notifyHandlers", the command to be executed after a
  "/vis/geometry/..." command.  "/vis/scene/notifyHandlers" causes
  rebuild if viewer is "auto-refresh", otherwiae a message advises a
  rebuild.  This prevents over-enthusiatic rebuildin.

3rd June 2010  John Allison  (visman-V09-03-09)
- G4VisManager.cc: Checked valid view in DispatchToModel.
- Changed /vis/scene/add/digiti[sz]ations to /vis/scene/add/digis.

1st June 2010  John Allison  (visman-V09-03-07)
- G4VisManager:
  o Made fVerbosity and GetVerbosity static (saves having to get vis
    manager pointer).
  o Some tidying.
- G4VisCommandsSceneAdd.cc: Fixed compiler warning.

30th May 2010  John Allison  (visman-V09-03-06)
- Added /vis/scene/add/digiti[sz]ations.
- Added /vis/filtering/digi.
- G4VisManager, G4VisExecutive: Added registration and methods for digis.
- G4VSceneHandler: Added AddCompound(const G4VDigi&).

29th May 2010  John Allison  (visman-V09-03-05)
- Co-works greps-V09-03-01 and tracking-V09-03-03.
- G4VisManager:
  o Introduced DispatchToModel without i_mode.
  o Moved i-mode deprecation warning to G4VTrajectory.
- G4VSceneHandler.cc:
  o Moved i-mode deprecation warning to G4VTrajectory.
- G4VisCommandsViewer.cc: /vis/viewer/rebuild:
  o Added sceneHandler->ClearTransientStore().
  o Added viewer->Set/Clear/DrawView().

28th May 2010  John Allison  (visman-V09-03-04)
- G4VisManager, G4VisExecutive:
  Introduced optional verbosity string argument in constructor.  You
  can now write, for example:
    G4VisManager* visManager = new G4VisExecutive("quiet");
  Note that the default is "warnings":
    G4VisManager* visManager = new G4VisExecutive;

28th May 2010  John Allison  (visman-V09-03-03)
- Co-works interfaces-V09-03-04.
- G4VisExecutive.icc: Change order of flags to follow G4UIExecutive.

26th May 2010  John Allison  (visman-V09-03-02)
- G4VisExecutive.icc: Added drivers with generic nicknames:
  o OGL, OGLI, OGLS, OI.
  o The specific driver depends on G4VIS_USE and G4UI_USE flags.  So,
    for example, "/vis/open OGL" might open an OGLSX window on X or an
    OGLSWin32 on Windows.  It means that example vis.mac scripts can
    be written with this generic command that will work on all systems
    and all user choices.  In particular, it will open an OGLSQt
    window in a G4UIQt session.

20th May 2010  John Allison  (visman-V09-03-01)
- G4VisCommandsCompound.cc: Restore previous viewer after /vis/drawTree.
- G4VisManager.hh: Cosmetic.
- G4VGraphicsSystem: Add Set methods.

11th May 2010  John Allison  (visman-V09-03-00)
- G4VSceneHandler:
  o Follow change in generic section and cutaway interface.
  o Trap use of user-defined DrawTrajectory and print i_mode warning.
- G4VisCommandsSceneAdd.cc:
  o Follow change in generic section and cutaway interface.
  o Trap use of i_mode and print warning.
- G4VisManager.cc:
  o Trap use of i_mode and print warning.

9th March 2010 Laurent Garnier
 - G4OpenGLViewer : Fix clipping when resizing non square size windows
  
8th March 2010 Laurent Garnier
-G4VisManager.cc : Add protection against null pointer

22nd November 2009  John Allison  (visman-V09-02-08)
- G4VisCommandsSceneAdd.cc: /vis/scene/add/trajectories rich:
  o Added G4RichTrajectoryPoint().GetAttDefs() to informational.

17th November 2009  John Allison  (visman-V09-02-07)
- Tagged.

17th November 2009  Laurent Garnier
- Allow arbitrary viewer deletion (fixes crash).
  o G4VViewer::~G4VViewer: Removes itself from viewer list.
  o G4VSceneHandler::~G4VSceneHandler: better algorithm for removing viewers
  to handle viewer self removal.

16th November 2009  Laurent Garnier
-G4VSceneHandler.cc: Bug fix: Deleting G4VSceneHandler null pointer exception fix.

14th November 2009  John Allison
- G4VSceneHandler.cc: Bug fix: Should be const_cast, not static_cast, for hits.
  (Introduced in visman-V09-02-05 and geant4-09-02-ref-10.)

6th November 2009  John Allison
- G4VSceneHandler::AddCompound (const G4THitsMap<G4double>&):
  o For scoring maps, call DrawMesh with G4DefaultLinearColorMap as default.
  o Write message about other options:
    - /vis/open/gMocrenFile
    - /score/draw.. commands.
  o For hits that are not scoring maps, call DrawAllHits.

5th November 2009  John Allison
- G4VSceneHandler.cc:
  o ProcessScene: Added DrawEndOfRunModels().
  o AddCompound (const G4THitsMap<G4double>&): Call DrawMesh.

4th November 2009  John Allison
- G4Scene: Added EndOfRunModelList.
- G4VSceneHandler:
  o Added DrawEndOfRunModels.
  o AddCompound(const G4THitsMap<G4double>&): Prototype implementation
    using G4ScoringManager.  Still does nothing for scoring maps but
    otherwise calls DrawAllHits.
- G4VisManager.cc: Call fpSceneHandler->DrawEndOfRunModels at end of run.
- G4VisCommandsSceneAdd: Added optional parameter:
  o /vis/scene/add/psHits [scoring map name]

30th October 2009  John Allison  (visman-V09-02-06 coworks greps-V09-02-03)
- Added /vis/scene/add/psHits.
- G4VisManager.cc: As above and also:
  o Tidied view creation.
  o Improved message ("scene" should be "scene handler").

23rd October 2009  John Allison  (visman-V09-02-05 coworks greps-V09-02-02)
- Implemented default behaviour in
  G4VSceneHandler::AddCompound (const G4THitsMap<G4double>&).

21st October 2009  John Allison  (visman-V09-02-04 coworks greps-V09-02-02)
- G4VSceneHandler:
  o Added default AddCompound (const G4THitsMap<G4double>&) methods.
    (For time being just issues warning.)

29th September 2009  John Allison  (visman-V09-02-03)
- G4VSceneHandler.cc: Allow refresh in GeomClosed as well as Idle state.
- G4VisCommandsSceneAdd.cc: Fixed uninitialised pointers.
- G4VisManager.cc: Considerable tidy up.

24th July 2009  Laurent Garnier
- G4VisCommandsSceneAdd::EventID::operator() : Add a protection if
  CurrentSceneHandler has no model

13th May 2009  John Allison  (visman-V09-02-02)
- G4VisCommandsViewerSet.hh/cc: Added /vis/viewer/set/targetPoint.
- G4VisManager.cc: End of run event keeping information improved.

14th March 2009  John Allison  (visman-V09-02-01)
- G4VisCommands.hh/.cc: Introduced /vis/initialize.
- G4VisManager.cc: /vis/verbose and /vis/initialize instantiated in
    constructor.
- G4VisExecutive.icc: made methods inline.

25th February 2009  Laurent Garnier  (visman-V09-02-00)
- Notify handler send by G4VVisManager is implemented in G4VisManager

22th January 2009  Laurent Garnier
- Fix bug in ratio and geometry on X/Xm/Qt/Win32 viewers. Now Could pass XString like 400x600-0+0 to viewers and set position and location.

12th January 2009  John Allison
- /vis/viewer/create: Pass both X and Y window size hints to viewer.
  (To get a non-rectangular viewer give a X-windows-style geometry
  argument, such as "800x400" or "800x400-0+0".)

2nd December, Laurent Garnier
 - G4ViewParameters.hh G4ViewParameters.icc G4VisManager.hh G4VisManager.icc 
   G4ViewParameters.cc G4VisManager.cc G4VViewer.cc G4VisCommandsViewer.cc,
   do a lot of change to be able to pass XString like 400x600-0+0 to viewers 
   and set position and location. It will work for Qt, X, Win32 for the moment.

27th July 2008  John Allison (visman-V09-01-05)
- G4VisCommands.cc: Trap recursive use of /vis/reviewKeptEvents.

30th April 2008  John Allison  (visman-V09-01-04)
- Fixes more gcc-4.3.0 compiler warnings.

28th April 2008  John Allison  (visman-V09-01-03)
- G4VisCommandsScene.cc: Improve warning message.
- G4ViewParameters.hh: Improve commenting for Software Ref. Man.

4th April 2008  John Allison  (visman-V09-01-02)
 - Fixed gcc-4.3.0 compiler warnings.

5th February 2008, Laurent Garnier
 - Implemented a function in order to IncrementPan with X,Y,Z values 

29th January 2008  John Allison  (visman-V09-01-01)
 - G4VisExecutive.icc: Re-instated G4DAWNFILE (somehow got lost!!)

4th January 2008  John Allison  (visman-V09-01-00)
- Implemented extended 2D interface.

30th November 2007  Laurent Garnier
- G4VisExecutive.icc : Add a #ifdef G4VIS_USE_DAWN directive in order
 not to add a 'new G4DAWNFILE' if G4VIS_USE_DAWN is not set
#endif

16th November 2007  Joseph Perl  (visman-V09-00-02)
- G4VisCommandsCompound.cc: Replace references to Wired3.
- G4VisCommandsSceneAdd.cc: Replace references to Wired3.

10th November 2007  John Allison  (visman-V09-00-01)
- G4VisManager.cc: Minor improvement in messaging.
- G4VisCommandsScene.cc: Improvements in /vis/scene/endOfEventAction messaging.

10th July 2007  John Allison  (visman-V09-00-00)
- Remove redundant method declarations in G4VisManager.hh.
- Reinstate refesh after "/vis/viewer/set/autoRefresh true".

-25th May 2007  John Allison  (visman-V08-03-01)
 Improved error trapping in viewer initialisation.
- Bug fix in /vis/scene/notifyHandlers for case of no current viewer.

16th May 2007  John Allison  (visman-V08-03-00)
- G4VSceneHandler.cc: Added #include "G4AttDef.hh" to help buggy
  Windows compiler(!).

4th April 2007  John Allison  (visman-V08-02-04)
- G4VSceneHandler.cc: Bug fix for zero vis atts in LoadAtts.

3rd April 2007  John Allison  (visman-V08-02-03)
- Added /vis/viewer/set/picking.  Picking is false by default, except
  for OpenInventor.

25th March 2007  John Allison  (visman-V08-02-02)
- G4VisExecutive.icc: Removed G4GAGTree.
- G4VisCommandsCompound.cc: Removed /vis/scene/add/eventID, once
  again, from /vis/drawVolume.
- G4VisCommands.cc: Improved messages for /vis/abortReviewKeptEvents.
- G4VisManager.cc, G4VSceneHandler.cc: Cosmetic.

11th January 2007  John Allison  (visman-V08-02-01)
- Added /vis/abortReviewKeptEvents.
- /vis/reviewKeptEvents: Improved guidance.
- Bug fix: /vis/open in /vis/reviewKeptEvents loop.
  o Moved fpRequestedEvent from G4VSceneHandler to G4VisManager.
- Reduced WARNING noise.

5th January 2007  John Allison  (visman-V08-02-00)
- G4VSceneHandler:
  o Introduced LoadAtts (from G4OpenInventorSceneHandler, but now
    available to all scene handlers).  Loads G4AttValues and G4AttDefs
    onto any object that inherits G4AttHolder.
  o Change signature of GetLineWidth from G4Visible& to
    G4VisAttributes* for consistency with similar utility functions.
    (Only used by OpenGL at present; requires opengl-V08-02-00.)
  o GetLineSegmentsPerCircle: protected against null vis atts pointer.
- G4VisCommandsGeometrySet and G4VisManager.cc:
  o Introduced /vis/geometry/set/forceLineSegmentsPerCircle
    (inadvertently omitted in previous release).
  o Improved guidance.
- G4VisCommandsGeometry.cc: Invoke /vis/viewer/rebuild only if viewer current.
- G4VViewer.cc: Improved comment.
- G4VisCommandsCompound.cc:
  o Re-introduced /vis/scene/add/eventID into /vis/drawVolume.
- G4VisCommandsViewer.cc: Improve guidance for /vis/viewer/addCutawayPlane.

12th December 2006  Gabriele Cosmo  (visman-V08-01-16)
- Commented command "vis/scene/add/eventID" forcing event ID to scene in
  G4VisCommandsCompound.cc.

25th November 2006  John Allison  (visman-V08-01-15)
- G4VisCommandsSceneAdd.cc: Follow change of behaviour of G4StateManager.
  Supresses eventID message when state == G4State_EventProc unless last event.
- G4VisCommands.cc: /vis/reviewKeptEvents:
  o An improvement in the information printed.
  o Temporarily set endOfEventAction refresh so that eventID for each event.
- G4VisCommandsScene.cc: /vis/scene/endOfEventAction:
  o Restrict warning message so that the warning about the number of
    kept events only happens for "accumulate".  Improve printing.
- G4VisCommandsViewer.cc: Spelling correction in warning message.
- G4VisManager.cc: Correct for 0 requested kept events.
- G4Scene.cc: Initialise no. of kept events to 0.

22nd November 2006  John Allison  (visman-V08-01-14)
- Fixed /vis/reviewKeptEvents for "stored" viewers.

21st November 2006  John Allison  (visman-V08-01-13)
- Fixed double drawing of event.
- Restored old verbosity and printing interface (for obsolete user vis
  managers).

16th November 2006  John Allison  (visman-V08-01-12)
- /vis/scene/notifyHandlers: Refreshes only auto-refresh viewers.
  Warning of scene change issued for other viewers.

15th November 2006  John Allison  (visman-V08-01-11)
- First implementation of /vis/reviewKeptEvents.

14th November 2006  John Allison  (visman-V08-01-10)
- Merged visman-V08-01-08-branch onto main branch.

14th November 2006  John Allison  (visman-V08-01-08-08)
- Partial implementation of /vis/reviewKeptEvents.

14th November 2006  John Allison  (visman-V08-01-08-07)
- Minor improvements:
  o G4VisManager: Removed event count (not used).
  o G4VSceneHandler: Inhibited drawing when vis disabled.
  o Various /vis/scene commands: Added update statement so that
    handlers are notified after change of scene.  Forces rebuild and
    refresh of all viewers using current scene.

12th November 2006  John Allison  (visman-V08-01-08-06)
- Further iteration of event refreshing:
  o G4VisManager:
    ~ Introduced DrawEvent private method for vis manager and G4VSceneHandler.
    ~ Removed unused methods from previous attempts.
  o G4VSceneHandler: Used vis manager DrawEvent.
  o /vis/scene/add/eventID: improved so it picks up event ids of refreshed
    events.

11th November 2006  John Allison  (visman-V08-01-08-05)
- Removed /vis/scene/transientsAction.  Now event keeping by the vis
  manager is automatic if there is a valid scene.  If the user issues
  "/vis/scene/endOfEventAction accumulate [<N>]", events are kept up
  to a maximum N in number (N<0 means unlimited, the default value is
  100).  Otherwise just the last event is kept.
- Tidied up.

9th November 2006  John Allison  (visman-V08-01-08-04)
- G4VisManager: Removed data memebers associated with previous attempts
  at event refreshing.
- G4VSceneHandler.cc: Removed previous attempts at event refreshing.
- /vis/drawVolume and /vis/scene/add/volume: Improved guidance for parallel
  worlds.
- /vis/viewer/select: Ensure refresh for auto-refreshing viewers.
- /vis/viewer/set/autoRefresh: Inhibit refresh for auto-refreshing viewers.

8th November 2006  John Allison  (visman-V08-01-08-03)
- First attempt at using event keeping to refresh views.

6th November 2006  John Allison  (visman-V08-01-08-02)
- Merged visman-V08-01-09.

6th November 2006  John Allison  (visman-V08-01-09)
- /vis/drawVolume and /vis/specify: Suppress all but first warning about
  needing to refresh for viewers that are not auto refresh.
- G4VScenehandler.cc: Remove warning about emepty scene.  (Subsequent action
  is to add a world, if empty - reasonable behaviour.)

5th November 2006  John Allison  (visman-V08-01-08-01)
- G4VisCommandsSceneAdd.cc: Improved implementation of parallel worlds.  Gets
  material world = *(transportationManager->GetWorldsIterator()) in all cases
  following fixes run-V08-01-ref04-01 and geomnav-V08-01-ref04-01.

3rd November 2006  John Allison  (visman-V08-01-08-00)
- On visman-V08-01-08-branch.
- G4VisCommandsSceneAdd.cc: First implementation of parallel worlds
  visualisation: /vis/scene/add/volume worlds
- G4VisCommandsCompound.cc: Minor re-ordering of commands in /vis/drawVolume
  to avoid warning messages about empty scene.

3rd November 2006  John Allison  (visman-V08-01-08 with tracking-V08-01-05)
- Activated /vis/scene/add/trajectories with "rich" and "smooth" - see below.
  Needs tracking-V08-01-05.

1st November 2006  John Allison  (visman-V08-01-07)
- /vis/scene/add/trajectories:
  o Allow string parameters "rich" and "smooth".  Not yet activated
    (awaiting tags in tracking).
  o Deprecate use of integer parameter (i_mode).
- GNUmakefile: Add geometry/magneticfield/include (for new
  /vis/scene/add/trajectories command above).
- G4VisManager.cc: Remove unnecessary comment line.

----------------------------------------------------
19th September 2006  John Allison  (visman-V08-01-06)
- G4ViewParameters: Added ExplodeCentre.
- G4VisCommandsGeometrySet.cc: Bug fix in /vis/geometry/set/colour.

----------------------------------------------------
13th September 2006  John Allison  (visman-V08-01-05)
- G4ViewParameters: Improved setting and access to explode factor.
- G4VisCommandsViewer: Added /vis/viewer/clone.
- G4VisCommandsViewerSet: Added /vis/viewer/set/explodeFactor.
- G4VisManager.cc: Registered /vis/viewer/clone.
- G4VSceneHandler.cc: Pass explode factor to modeling parameters.

12th September 2006 Jane Tinslay
- Add attribute based trajectory drawing & filtering, and attribute based
  hit filtering

---------------------------------------------------
4th September 2006  John Allison  (visman-V08-01-04)
- G4ViewParameters: Added CutawayMode and ChangeCutawayPlane.
- Added /vis/viewer/addCutawayPlane, changeCutawayPlane, clearCutawayPlanes
  and /vis/viewer/set/cutawayMode.

30th August 2006  John Allison  (visman-V08-01-03 - needs modeling-V08-01-05)
- Added /vis/viewer/set/globalLineWidthScale.
- Augmented /vis/scene/add/volume to include intersection of clipping volume
  (only box -box *box at present).
- G4VSceneHandler:
  o Added GetLineWidth to take account of GlobalLineWidthScale.
  o Added CreateSection/CutawayPolyhedron to exploit generic sectioning
    (DCUT) and cutaways.  Currently not activated due to instabilities in
    BooleanProcessor.
- G4ViewParameters:
  o Added GlobalLineWidthScale.
  o Removed IsViewGeom/Hits/Digis (functionality available in G4Scene).

14th August 2006  John Allison  (visman-V08-01-02)
- G4VisManager.hh: Added some OpenGL friends.
- G4VisCommandsCompound.cc: /vis/drawVolume: re-ordered "attach"
  before "add/volume".  Catches non-existing handlers better.  Overall
  effect of compound command unchanged.
- G4VSceneHandler.cc: Added (commented out) code for "event refreshing".

10th July 2006  John Allison (visman-V08-01-01)
- Co-works with greps-V08-01-01.
- G4VSceneHandler:
  o Removed Establish/DecommissionSpecials.
  o Respect rationalised G4ModelingParameters.
  o Added GetNoOfSides that respects forced line segments per circle.
- G4VisCommandsScene.cc: Spelling correction.

3rd July 2006  John Allison (visman-V08-01-00)
- /vis/scene/transientsAction: Added max number of events parameter.
- Added /vis/viewer/clearTransients.
- Improved /vis/list.
- G4VisManager.hh/icc: Added data members and acces for event copying.
- G4VisManager.cc:
  o Verbosity control of model printing.
  o (Commented out) code for event copying.
 - G4VSceneHandler.cc:
  o (Commented out) code for event copying.

8th June 2006 John Allison  (visman-V08-00-23)
- Fixed bug in /vis/scene/endOfRunAction introduced in visman-V08-00-14
  that made it ineffective.

7th June 2006 John Allison  (visman-V08-00-22)
- G4VSceneHandler.cc: Zeroed modeling parameters pointer after use.

6th June 2006 John Allison  (visman-V08-00-21)
- G4VisCommandsViewer: /vis/viewer/create: Fixed view params copy to self.

4th June 2006 Joseph Perl (visman-V08-00-20)
- This tag includes all the changes below.

2nd June 2006 Jane Tinslay
- Add accessor for current trajectory drawing model
- Make G4HepRepFileSceneHandler a friend of G4VisManager

1st June 2006 Jane Tinslay
- Add accessor in G4VisListManager

30th May 2006 Jane Tinslay
- Add G4TrajectoryChargeFilterFactory and G4TrajectoryOriginVolumeFilterFactory
  to G4VisExecutive

25th May 2006 John Allison  (visman-V08-00-19)
- G4Scene.cc: Changed default fRecomputeTransients to false.
- G4VisCommandsViewerSet.cc: /vis/viewer/set/style - remove candidates.
  Use first letter only (so "/vis/viewer/set/style wire" works, for example.)
- G4VisFilter/List/ModelManager.hh: Indent printing of models.
- G4VUserVisAction.hh: Add forward declaration of class G4VGraphicsScene.

22nd May 2006 John Allison  (visman-V08-00-18)
- G4VisManager:
  o Added SetReprocessing (for transients).
  o Reduce dependency on Run (get event from event manager).
  o (Includes some event copying stuff - commented out.)
- G4VSceneHandler.cc: Require Idle state for transient re-computation.
- G4Scene:
  o Remove Clear().  (Not used.)
  o Add printing and testing for fRecomputeTransients.  (Forgot in
    visman-V08-00-08.)
- /vis/.../list commands: Default verbosity "warnings".

13th May 2006 John Allison  (visman-V08-00-17)
- Provided identity transformation for 2D drawing.  A temporary
  expedient until all drivers can implement 2D drawing.

12th May 2006  John Allison  (visman-V08-00-16)
- Added /vis/list.
- Added /vis/scene/add/eventID.
- Final refinements for event/run reprocessing (re-computation of
  transients):
  o Pick up random number status from run manager.
  o Run and event numbers reset.
  o Protect against non-instantiation of run manager.
- Followed G4CallbackModel change (see modeling-V08-00-09).
- G4VisCommandsScene.cc, G4VisCommandsSceneHandler.cc, G4VisCommandsViewer.cc:
  Corrected SetDefaultValue for verbosity string parameter (changed 0 to "0").

4th May 2006  John Allison  (visman-V08-00-15)
- Improved protection for null models and parameters.

2nd May 2006 Jane Tinslay 
- Add G4TrajectoryGenericDrawerFactory to G4VisExecutive
- Add FilterTrajectory method to G4VisManager

28th April 2006  John Allison (visman-V08-00-14)
- G4VSceneHandler.cc: Added call to FinishView after run-duration
  model computation and before end-of-event and transients
  re-computation to get good buffer swapping behaviour for double
  buffer drivers.
- G4VisCommandsScene.cc: Added protection in
  /vis/scene/endOfRunAction.  Error for accumulate if end of event
  action is not also accumulate.
- G4VisManager: To get good refresh bahaviour when re-computing
  transients in OpenGL*Xm and similar drivers, postpone ShowView to
  end of run for last event in a run.  This ensures G4 is in Idle
  state.
- GNUmakefile: Added includes for access to run manager for above.

22nd April 2006  John Allison (visman-V08-00-13)
- Bug fix (workaround) for memory leak in CheckModel (bug #861).
- Implement PrintAvailableModels using improvement below.

21st April 2006 Jane Tinslay
- Improve printout for trajectory drawing and filtering

19th April 2006  John Allison (visman-V08-00-12 - needs greps-V08-00-02)
- G4VisManager:
  o Implemented Draw2D(const G4Text&).
  o Added PrintAvailableModels (but awaiting implementation).
  o Fixed directory names (trailing '/').
- G4VSceneHandler:
  o Implemented Begin/EndPrimitives2D.
  o Migrated to direct access to G4PhysicalVolumeModel.

28th March 2006 Jane Tinslay (jst28032006)
- Introduce G4VisFilterManager.hh to manager filtering
- Additions to G4VisCommandsListManager, G4VisExecutive, G4VisManager
  to support filtering

28th March 2006  John Allison  (visman-V08-00-11)
- Corrects logic of transients re-computation:
  o G4VisManager and G4VSceneHandler: Improved logic of TransientsDrawn flags.
  o G4VSceneHandler: Improved logic of transients re-computation.
  o G4VViewer: Improved logic of fNeedKernelVisit.
- Unified treatment of bools in commands.

24th March 2006 Jane Tinslay (jst24032006)
- Introduce trajectory drawing manager which is used by
  G4VisManager. No change in overall functionality.

16th March 2006 Jane Tinslay (jst16032006)
- Add G4TrajectoryDrawByOriginVolumeFactory to G4VisExecutive

13th March 2006  John Allison  (visman-V08-00-10)
- Fixes recomputation of transients when changing drivers.
- G4VisManager: Added fTransientsDrawnThisEvent/Run.
- G4VSceneHandler:
  o Removed fTransientsDrawn (now in G4VisManager).
  o Added fProcessingSolid.
  o Fixed recomputation of transients.

8th March 2006  John Allison  (visman-V08-00-09)
- G4VisManager.cc: Fix bug that causes crash when no current scene handler.

6th March 2006  John Allison  (visman-V08-00-08)
- Added /vis/scene/transientsAction, a feature for recomputing
  transients (trajectories, hits, user drawing, etc.) when needed by
  the viewer.  Thus, transients are "remembered" and may be copied
  between graphics systems.

9th February 2006  John Allison  (visman-V08-00-07)
- First implementation of refresh end-of-event models (trajectories, etc.).

8th February 2006  John Allison  (visman-V08-00-06)
- Needs modeling-V08-00-02.
- G4VSceneHandler.cc: Made use of G4ModelingParameters::DrawingStyle.
- G4VisCommandsSceneAdd.cc: Removed unnecessary #include.

3rd February 2006  John Allison  (visman-V08-00-05)
- Introduced /vis/geometry/... for editing vis attributes of geometry volumes.
- Very minor printing and comments improvements.

26th January 2006  John Allison  (visman-V08-00-04)
- G4VViewer: Removed fModified.  It was used to flag a change of view
  parameters but it was only ever used negatively, i.e., to *prevent*
  its effect of invoking SetView.  So it has been removed and the
  responsibility for calling SetView after a change of view parameters
  rests with the user (e.g., the vis commands).  Only used by OpenGL
  and OpenInventor; now works with opengl-V08-00-01 and
  openinventor-V08-00-00.
- G4VSceneHandler.hh: Improved comments.
- G4VisListManager.hh: Prevent crash on attempt to Print when nothing
  registered.
- G4VisManager.hh: Extended friendship to G4XXXSceneHandler.

25th January 2006  John Allison  (visman-V08-00-03)
- Retro tag: visman-V08-00-00 + friend status for Ray Tracer.

11th January 2006  John Allison  (visman-V08-00-02)
- G4VisExecutive.icc: protected with G4VISEXECUTIVE_ICC.
- G4VisManager.hh: prepared for RayTracer reorganisation (friend status).
- G4VisCommandsScene.cc: /vis/scene/create: simplified registration of
  scene to avoid recursive invocation of /vis/scene/notifyHandlers/.
- G4VisCommandsSceneAdd.cc: Improved message when world not available.
- G4VisCommandsViewer.cc: /vis/viewer/refresh: When world added, delegate
  to /vis/scene/notifyHandlers.  Avoids double refresh.
- G4VisManager.cc: Changed ERROR to WARNING when user calls Draw with
  invalid view.

9th January 2006  John Allison  (visman-V08-00-01)
- This tag includes all the changes below.

9th January 2006  John Allison  (visman-V08-00-00)
- This tag is geant4-08-00-ref-00 + change of 5th January only.

5th January 2006  John Allison
- G4VSceneHandler.cc: Reversed change of 22nd November 2005:
  fMarkForClearingTransientStore(true) initially now.  This is so that
  at end of event or run, the view is refreshed and the scene
  (detector geometry, etc.) is drawn or written to file.

14th December 2005  John Allison
- Improved /vis/scene/notifyHandlers so that it forces a rebuild of the
  graphical database, if any.  Particularly relevant for Open Inventor.
- G4Scene.cc, G4VSceneHandler.cc: Improved warning messages.
- G4VisManager.cc: Apply "/vis/scene/notifyHandlers" if world has been added
  to an empty scene.
- G4VisCommandsViewer.cc: "/vis/viewer/refresh": if world is added to
  an empty scene, invoke UpdateVisManagerScene, which applies
  "/vis/scene/notifyHandlers", which now forces a rebuild.
- G4VisCommandsViewer.cc: Fix bug in "/vis/viewer/rebuild".

4th December  John Allison (visman-V07-01-10)
- G4Vismanager.cc: Prevent ERROR messages at end of event and run when
  user has not instantiated a scene handler, e.g., in batch mode.

29th November 2005  Jane Tinslay
- Make G4VisManager::RegisterModelFactories() non-pure for 
  backwards compatibility.
- Add information message to G4VisManager::DispatchToModel when default trajectory
  model is used.

23rd November 2005  Joseph Perl  (visman-V07-01-09)
- Tagged in preparation for Geant4 8.0

23rd November 2005  Jane Tinslay
- Enhanced trajectory implementation

22nd November 2005  John Allison
- Added /vis/viewer/rebuild (forces visit of kernel).
- Changed G4Transform3D::Identity to G4Transform3D().
- Tidied initial printing.
- Removed MyVisManager (was deprecated in previous major release).
- G4VSceneHandler.cc: fMarkForClearingTransientStore(false) initially.
- G4VVisCommand.cc: Improved UpdateVisManagerScene.
- Refined guidance of issue "/tracking/storeTrajectory 1" on
  "/vis/scene/add/trajectories".
- Improved /vis/sceneHandler/attach.
- G4VisManager.cc: Improved comments.

13th October 2005  John Allison  (visman-V07-01-08)
- G4ViewParameters: Added XGeometryString.
- G4VViewer.cc: Pick up XGeometryString.
- /vis/open and /vis/viewer/create: Allow X-Windows-type geometry string
  in window size hints.
- /vis/viewer/set/background: Add opacity parameter.

20th October 2005  John Allison  (visman-V07-01-07)
- G4VisManager:
  o Added methods for managing trajectory models.
  o Implemented first version of DispatchToCurrentModel(const G4VTrajectory&,
    G4int i_mode).
  o Created /vis/modeling/trajectories/ for trajectory model messengers.
  o Added XGeometryString for some future viewer enhancements.
- G4VisExecutive: Added RegisterTrajectoryModelMakers.

20th October 2005  John Allison (visman-V07-01-06)
- Get standard colours with "/vis/viewer/set/background red", for example.
- G4VisCommandsViewer.cc: Fixed G4ThreeVector/G4Vector3D problem with
  CLHEP-1.9.2.1.

13th October 2005  John Allison (visman-V07-01-05)
- Background colour - /vis/viewer/set/background.
- Non-uniform scaling - /vis/viewer/scale and scaleTo.
- Migrated to <sstream>.

12th October 2005  John Allison (vis-V07-01-03)
- G4VisCommandsViewer.cc: Trapped zero viewer pointer in /vis/viewer/update
  (bug found by system test of vis-V07-01-02).

16th September 2005  John Allison (visman-V07-01-04)
- Simplified use of ConcreteInstance.  It is now always non-zero for
  an instantiated vis manager; invalid views are reported by the vis
  manager.  The exception is /vis/disable which zeros it; /vis/enable
  or any valid command resets it.

16th September 2005  John Allison (visman-V07-01-03)
- Issue "/tracking/storeTrajectory 1" on /vis/scene/add/trajectories.
- Added warning:
  o Attempt to add volume to a scene already containing the world.
- Added error message:
  o Logical volume model must be only volume model in scene.
- G4Scene.cc: Improvement - no functional change.

13th September 2005  John Allison (visman-V07-01-02)
- Added WhiteBackground to G4ViewParameters.
- Added /vis/viewer/set/whiteBackground.
- G4VSceneHandler::GetColour and GetTextColour: white and opaque
  objects on a white background are changed to black.
- Added RayTracerX to G4VisExecutive under control of G4VIS_USE_RAYTRACERX.
- Re-instated invocation of SetView and ClearView in /vis/viewer/refresh.

2nd September 2005  John Allison (visman-V07-01-01)
- Introduced optional second pass over run-duration models in
  G4VSceneHandler::ProcessScene.

20th July 2005  John Allison (visman-V07-01-00)
- G4VisCommandsViewer.cc: Protected new viewer pointer.

7th June 2005  John Allison (visman-V07-00-02)
- /vis/scene/notifyHandlers: Fixed case of scene handler with no viewer.

31st May 2005  John Allison  (visman-V07-00-01)
- G4VisCommandsSceneAdd.cc: Fixed /vis/scene/add/text to accept text
  with spaces.
- G4ViewParameters.cc: Printed WARNING: Viewpoint direction is very
  close to the up vector direction.
