$Id: History,v 1.218 2003/02/17 07:19:37 stanaka 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 ! ************************************************************* * Note that modeling and test have their own History files. * ************************************************************* ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- History file for visualization category --------------------------------------- 17th February 2003 Satoshi Tanaka (vis-V05-00-01) - A Small bug fixing of VRML2 driver (Explicit cast from G4String to char* in G4VRML2SceneHandlerFunc.icc). 24th January 2003 Joseph Perl - Fixes to HepRep - see History file. 20th January 2003 John Allison (vis-V05-00-00, co-works intercoms-V05-00-00) - Incorporated openinventor-V05-00-00: Removed erroneous additional transformation. - Added G4VisManager::Draw methods for hits and trajectories. 11th December 2002 John Allison (vis-V04-01-10) - Fix for SUN-CC warnings: AddThis hides the virtual function... - Fix memory leak in RayTracer. - Fixed /vis/scene/add/trajectories command. - Some fixes in HepRep. 4th December 2002 Makoto Asai (vis-V04-01-09) - Migration to new G4ApplicationState 27th November 2002 John Allison (vis-V04-01-08) - Fixes to HepRep - see History file. - Added RegisterGraphicsSystem (new G4HepRep) in MyVisManager.cc. - Fix (removal) of ambiguous G4VVisCommand::GetNewDoubleValue. - Added /vis/viewer/set/globalMarkerScale. - Improved algorithm of CompareForKernelVisit on OpenGL and OpenInventor. 21st November 2002 Gabriele Cosmo (vis-V04-01-07) - Corrections to HepRep module to allow porting on egcs compiler (M.Donszelmann). - Patched access to static data in G4VisCommandsSceneAdd.cc, G4VisManager.cc and G4FlavoredParallelWorldModel.cc to allow porting on Windows DLLs. It requires co-working with tags "greps-V04-01-04" and "intercoms-V04-01-02". 15th November 2002 Mark Donszelmann (vis-V04-01-06) - HepRep2 driver implemented. 11th November 2002 John Allison (vis-V04-01-05) - Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER for Windows and other small changes in OpenGL (opengl-V04-01-02). - Added integer argument to /vis/scene/add/trajectories [drawing-mode]. drawing-mode is passed to DrawTrajectory. See also modeling-V04-00-00. - Fixed bug in G4VisManager wich lead to zero G4VModel pointer. - Improved hamdling of models. - Corrected G4RayTracer.cc devide-by-zero (raytracer-V04-00-01). - VRML: bug fixing for marker size (*.icc files) (VRML-V04-01-00). - Samll improvements to README.built_in_commands. - Improved sample driver XXX. 1st November 2002 John Allison (vis-V04-01-04 with...) geant4/source/tracking tracking-V04-01-03 geant4/source/intercoms intercoms-V04-01-00 geant4/source/graphics_reps greps-V04-01-01 geant4/source/digits+hits digits+hits-V04-01-01 Oct 28, 2002, J.Allison (vis-traj03, co-works with... geant4/source/tracking traj03 (head as of Tue Oct 29 15:42:14 UTC 2002) geant4/source/intercoms intercoms-V04-01-00 (ditto) geant4/source/graphics_reps greps-V04-01-01 (ditto) geant4/source/digits+hits hits-traj03 (*not* the head) - Changed G4XXXSceneHandler.cc for map of G4AttDefs, and improved. 17th October 2002 John Allison (vis-V04-01-03 with...) - Coworking tags are: geant4/source/tracking traj02 geant4/source/intercoms intercoms-V04-00-04 geant4/source/graphics_reps greps-V04-01-00 geant4/source/digits+hits hits-traj02 - More changes for AddThis(const G4VTrajectory&) and (const G4VHit&). - Minor corrections to warning messages, etc. - Improved end of run behaviour for non-post-processing graphics systems by changing false to true in G4VisManager::EndOfRun fpSceneHandler->SetMarkForClearingTransientStore(true); - Further corrections/improvements in OpenGLWin32 - not yet complete. 17th October 2002 John Allison (vis-V04-01-02 with intercoms-V04-01-00) - Added two new pure virtual functions to G4VGraphicsScene: AddThis(const G4VTrajectory&) AddThis(const G4VHit&) 16th October 2002 John Allison (vis-traj01 co-works with tracking tag traj01) - Tag for changes in G4VTrajectory, etc. (raytracer-V04-00-00). 16th October 2002 John Allison (vis-V04-01-01) - Fix for WIN32. Now compiles but viewer not implemented. (opengl-V04-01-01) - Small improvement to README.built_in_commands. 1st Sept 2002 Satoshi Tanaka (vis-V04-01-00) - Precision control of g4_XX.prim files generated by the DAWNFILE/DAWN-Network drivers. Example: setenv G4DAWNFILE_PRECISION 9 The precision number is used as: sprintf( string, "%*.*g", (precision+8), precision, value) The default precision is also changed from 6 to 9. 24th June 2002 John Allison - Further cosmetic changes in G4OpenGL for DEC compiler (opengl-V04-01-00). 24th June 2002 Gabriele Cosmo (vis-V04-00-10) - Exclude latest changes to OpenGL driver (opengl-V04-00-03), causing compilation errors on some platforms (DEC-cxx). 23th June 2002 Satshi Tanaka (vis-V04-00-09) - Bug fixes in G4VRMLXFileSceneHandlerFunc.icc - Protection of VRML-Newtork drivers for Windows platform. (The compilation is skipped in the Windows platform.) 19th June 2002 John Allison (vis-V04-00-08) - Cosmetic changes in G4VRML2FileSceneHandler.cc and G4VRML2SceneHandler.cc (Gabriele) 10th June 2002 John Allison - Cosmetic changes for SUN-CC in G4OpenGLXmConvenienceRoutines.cc (opengl-V04-00-03). - Improvement to /vis/scene/add/logicalVolume guidance. 6th June 2002 John Allison - Cosmetic changes for GNU compiler in G4OpenGLXViewer.cc (opengl-V04-00-02). 8th May 2002 John Allison (vis-V04-00-07) - Minor changes to warning messages and README.built_in_commands. - Added test fro G4EllipticalTube to test/src/MyDetectorConstruction.cc. 1st May 2002 John Allison (vis-V04-00-06) - Deprecated /vis/viewer/set/autoRefresh. 26th April 2002 Makoto Asai (vis-V04-00-05) - Corresponds to the changes in intercoms-V04-00-00 - Affected files : G4VisManager.cc G4VisCommandsViewer.cc G4VisCommandsCompound.cc 22nd April 2002 John Allison (vis-V04-00-04) - Prevent copying of autoRefresh status with /vis/viewer/set/all command. - Corrected out of date advice about /vis/set/culling, etc. - Workaround for pseudo-parallel/orthogonal projection in Ray Tracer. 28th February 2002 John Allison (vis-V04-00-03) - Updated OpenGL to compile (but not run) on Windows (opengl-V04-00-01). - Removed redundant code in GNUmakefiles in OPACS, OpenGL, OpenInventor, VRML. - Improved README.adding_graphics_system. 23rd February 2002 John Allison (vis-V04-00-02) - Bug fix in modeling, which was causing nested calls to Begin/EndPrimitives. 4th February 2002 Joseph Perl (vis-V04-00-01) - HepRep: Check for missing hierarchy layers in HepRepXMLWriter. (Not strictly needed since have a culled layer check in SceneHandler, but may be useful in other applications of HepRepXMLWriter). 3rd February 2002 Joseph Perl - HepRep: Detect transient data by testing for !fpCurrentPV || fReadyForTransients rather than just fReadyForTransients 1st February 2002 Joseph Perl - Improvements to HepRep: - Defer file opening until first real HepRepType is to be written. - Moved HepRep code from AddThis to AddPrimitive. - Add additional levels to hierarchy if any appear to have been removed by culling. - Add visibility attribute. 29th January 2002 Joseph Perl - Relocate HepRep file-opening logic to constructor and ShowView (had been in SetView). 28th January 2002 vis-V03-02-23 Joseph Perl - Improvements to HepRep: - Produce hierarchical output rather than flat HepRepType structure. - Handle trajectories as well as detector geometry. - Output files now named G4Data.heprep where n increments with each open. 14th January 2002 vis-V03-02-22 Joseph Perl - Corrected handling for already open file in HepRepXMLWriter. 01th December 2001 vis-V03-02-21 Satoshi Tanaka - Code refinements in FukuiRenderer/ directory: * Noisy warnings for Linux-g++ are suppressed. (%lg ==> %g etc) * G4FRSceneFunc.icc is moved from /src to /include 29th November 2001 John Allison - Fixed some pedantic warnings and a bug thrown up by such in OpenGL. 28th November 2001 Gabriele Cosmo (visman-V03-02-00 in management only). - Fixed pointer initialisation for porting on VC++ in G4VisCommandsSceneAdd.cc. 21st November 2001 John Allison (vis-V03-02-20) - Fixed G4std bug in G4HepRepFileSceneHandler.hh. - Fixed "hides the virtual function" warnings from G4HepRepFileSceneHandler. - Change to comments in G4XXXSceneHandler.hh. 19th November 2001 John Allison (vis-V03-02-19 needs config-V03-02-09+) - Cosmetic changes to HepRep. 16th November 2001 John Allison - Added G4XXXDEBUG to XXX dummy system. 14th November 2001 John Allison - Fixed bug in G4VisManager::EndOfEvent. - Moved code from G4VisManagerRegisterMessengers.cc to G4VisManager.cc and removed G4VisManagerRegisterMessengers.cc. 14th November 2001 Guy Barrand - OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0). 14th November 2001 John Allison - Added README.built_in_commands. 13th November 2001 Satoshi Tanaka - visualization/README file is updated, adding minimal description on the HepRepFile driver. 12th November 2001 John Allison (vis-V03-02-18 needs config-V03-02-09) - Fixed some warnings and one error from gcc-2.95.2. - HepRep Type names now come from Physical Volume names (Joseph Perl). - Added many HepRep Attributes for other volume properties (Joseph Perl). 13th Nov 2001 (JST) Hajime Yoshida and Minamimoto (vis-V03-02-17) - Updation of G4RTJpegMaker.cc for Windows platform (raytracer-V03-02-01). 7th November 2001 John Allison (vis-V03-02-16 needs config-V03-02-09) - Corrected compilation error. 6th November 2001 John Allison (vis-V03-02-15 needs config-V03-02-09) - Added /vis/viewer/flush = refresh + update. - Moved /vis/viewer/lights and viewpoint to /vis/viewer/set. - Added /vis/viewer/set/upThetaPhi and upVector. - Added refresh|flush option to /vis/scene/notifyHandlers. - Moved HepRepFile classes to HepRep/ directory and removed HepRep classes therein. 1st October 2001 Joseph Perl - Added first version of pure C++ HepRep driver, HepRepFile. See HepRep/README for details. 10th September 2001 John Allison (needs greps-V03-02-04) - (Non-standard tag JA-RAEOE.) 10th September 2001 John Allison (not tagged but needs greps-V03-02-04) - Added BeginOfRun, BeginOfEvent and EndOfRun to G4VisManager, invoked via G4VisStateDependent. - Improved handling of refresh-at-end-of-event. All scene handlers need to implement ClearTransientStore and ensure rebuilding of permanent store if necessary. - Auto-refresh (notifyHandlers) after attaching scene. - Changed default colour of scale to red and fixed a couple of small bugs in the implementation of AddPrimitive(G4Scale). - Improved verbosity guidance. - Improved /vis/scene/add/scale guidance (needs greps-V03-02-04). - Removed /vis/viewer/refresh from compound commands. - Capitalised 'R' in /vis/viewer/set/autoRefresh. 29th August 2001 John Allison/Joseph Perl (vis-V03-02-14) - Needs config-V03-02-06. - First developers release of HepRep graphics driver. 24th August 2001 Joseph Perl (vis-V03-02-13-00) - First inclusion of HepRep graphics driver. 24th August 2001 John Allison (vis-V03-02-13) - Fixed bugs in G4VisManager::GeometryHasChanged. - Separated out G4Scene::CalculateExtent. - Improved robustness and timeliness of invocation of some commands. - Improved READMEs. - Reduced warnings from OpenGL - see OpenGL/History. - Cosmetic changes to test. - Added explicit invocation of base class methods to avoid warnings about hiding of base class methods. 17th August 2001 John Allison (vis-V03-02-12) - Coworks with greps-V03-02-02 and intercoms-V03-02-04. - Added G4VisManager::Draw(const G4Scale&,... Needs intercoms-V03-02-04. - Added template graphics system XXX. - Improved verbosity guidance. 14th August 2001 John Allison (vis-V03-02-11) - Coworks with greps-V03-02-02 and intercoms-V03-02-03. - Moved default value G4Transform3D::Identity of argument from G4VSceneHandler::BeginPrimitives to G4VGraphicsScene::BeginPrimitives. Needs intercoms-V03-02-03. - Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&). Needs greps-V03-02-02. - Added sceneHandler.Begin/EndPrimitives messages to models (long standing bug!). - Removed "dummy" graphics systems in G4VisManager.cc. - Improved robustness of some commands, particularly /vis/scene/notifyHandlers. - Improved support for multiple viewers (but see OpenGL/History). 11th August 2001 John Allison (vis-V03-02-10-01) - Implemented /vis/scene/endOfEventAction. 9th August 2001 John Allison (vis-V03-02-10-00) - Note: non-standard tag to indicate internal use only. - Added /vis/scene/create at start of compound command /vis/open to avoid warnings. - Removed G4ModelingParameters::hierarchy. It is no longer used. The textual or graphical representation of the geometry hierarchy is now done in G4xxxTree classes in visua;ization/Tree. - Removed /vis/scene/notifyHandlers from G4VVisCommandScene::UpdateVisManagerScene - too much updating going on. It was leading to recursive refreshing/updating. - Implemented auto-refresh at end of event. (See also OpenGL/History.) Introduced G4VSceneHandler::Get/SetMarkForClearingTransientStore for postponed (lazy) clearing of transients (e.g., trajectories) from store (graphical database) and view. The mark is set at the end of G4VisManager::EndOfEvent and the actual clearing is done in: void G4VisManager::ClearTransientStoreIfMarked(){ // Assumes valid view. if (fpSceneHandler->GetMarkForClearingTransientStore()) { fpSceneHandler->SetMarkForClearingTransientStore(false); fpSceneHandler->ClearTransientStore(); } } which is called at the start of each G4VisManager::Draw and the beginning of G4VisManager::EndOfEvent. Thus the picture stays from the end of all drawing for the event until the first drawing of the next event. 5th August 2001 John Allison - Small refinements to printing under new verbosity control. 4th August 2001 John Allison (vis-V03-02-10) - Re-implemented verbosity control. Output statements wherever possible are controlled by the verbosity in a simple graded message scheme: enum Verbosity { quiet, // Nothing is printed. startup, // Startup and endup messages are printed... errors, // ...and errors... warnings, // ...and warnings... confirmations, // ...and confirming messages... parameters, // ...and parameters of scenes and views... all // ...and everything available. }; Note that the G4VisManager member object name and type have changed: Verbosity fVerbosity; // New. const G4int fVerbose; // fVerbose is kept for backwards compatibility for some user // examples. (It is used in the derived user vis managers to print // available graphics systems.) It is initialised to 1 in the // constructor and cannot be changed. 3rd August 2001 John Allison - Added README.quick, a quick installation guide. 30th July 2001 John Allison (vis-V03-02-09) - Eliminated view parameters from G4VisManager. Now, each view maintains its own parameters. Can be copied from one view to another with: /vis/viewer/set/all Copies view parameters from from-viewer to current viewer. Affects current viewer. - Removed redundant methods from G4VisManager, mostly to do with old-style commands. 27th July 2001 John Allison (vis-V03-02-08) - Needs config-V03-02-01. - Introduced environment variable G4VIS_NONE that, if set, no visualization drivers are built and no vis libraries are built, not even libG4vis_management. (libG4modeling is still built.) The C-pre-processor variables G4VIS_BUILD and G4VIS_USE are *not* set. - Removed the need to specify environment variables for visualization drivers which do not need external packages or libraries, namely : G4VIS_BUILD_DAWNFILE_DRIVER G4VIS_BUILD_RAYTRACER_DRIVER G4VIS_BUILD_VRMLFILE_DRIVER G4VIS_BUILD_ASCIITREE_DRIVER G4VIS_BUILD_GAGTREE_DRIVER with associated G4VIS_USE environment variables: G4VIS_USE_DAWNFILE G4VIS_USE_RAYTRACER G4VIS_USE_VRMLFILE G4VIS_USE_ASCIITREE G4VIS_USE_GAGTREE For backwards compatibility, unless G4VIS_NONE is set, the corresponding C-pre-processor variables are automatically set. Also, the C-pre-processor variables G4VIS_BUILD and G4VIS_USE are set. - As before, environment variables for other drivers still need positive setting of their G4VIS_BUILD and G4VIS_USE environment variables. In this category are: G4VIS_BUILD_DAWN_DRIVER G4VIS_BUILD_OPACS_DRIVER G4VIS_BUILD_OPENGLX_DRIVER G4VIS_BUILD_OPENGLWIN32_DRIVER G4VIS_BUILD_OPENGLXM_DRIVER G4VIS_BUILD_OIX_DRIVER G4VIS_BUILD_OIWIN32_DRIVER G4VIS_BUILD_VRML_DRIVER with associated G4VIS_USE environment variables: G4VIS_USE_DAWN G4VIS_USE_OPACS G4VIS_USE_OPENGLX G4VIS_USE_OPENGLWIN32 G4VIS_USE_OPENGLXM G4VIS_USE_OIX G4VIS_USE_OIWIN32 G4VIS_USE_VRML In this case G4VIS_NONE must *not* be set. - Fixed unchecked pointer in G4VSceneHandler::ClearStore(). 25th July 2001 John Allison (vis-V03-02-07) - Improved access to models (modeling-V03-02-03). - Made G4VSceneHandler::fpModel non-const G4VModel* for convenience. - Improved checks and warning messages in /vis/scene/add/scale. 24th July 2001 John Allison (vis-V03-02-06) - Needs greps-V03-02-01 for small interface change to G4Scale. - Includes modeling-V03-02-02. - Force rebuild of graphics "stores" (graphical databases) and, if auto-refresh is true, refresh of all views (/vis/scene/notifyHandlers) after an addition to scene. - Improvements to /vis/scene/add/scale: o Added colour. o Assigned a genuine extent. 23rd July 2001 John Allison (vis-V03-02-05 is non existent - sorry!!!) - Improved /vis/scene/add/scale. - Improved auto-refreshing. 21st July 2001 John Allison (vis-V03-02-04) - Added /vis/scene/add/scale. Needs greps-V03-02-00 and intercoms-V03-02-02. 19th July 2001 Satoshi Tanaka (vis-V03-02-03) - Modification of G4DAWNFILEViewer.cc - PostScript command "showpage" is always added to g4_XX.eps so that it is printable. (It can also be inserted into LaTeX documents. 18th July 2001 John Allison (vis-V03-02-02) - Ensured rotation and translation of replica is restored (modeling-V03-02-00) (fixes crashes in replica tracking). 14th July 2001 John Allison (vis-V03-02-01) - Included raytracer-V03-02-00 (minor cosmetics). - Minor changes in G4OpenGLXViewer.cc to eliminate pedantic ISO C++ warnings. - Merged vis-V03-02-patch01 (below) to head. - Included new disclaimer. 14th July 2001 John Allison (vis-V03-02-patch01 in branch geant4-03-02-branch) - Fixed crash in optimised mode: added Initialise() to viewers so that windows are opened after viewers are fully constructed. 10th July 2001 John Allison (vis-V03-02-00) - Removed old-style commands. - Removed maintenance of G4VisManager's G4ViewParameters object (this will be removed soon). - Merged vis-V03-02-patch00 (below) to head. 10th July John Allison (vis-V03-02-patch00 in branch geant4-03-02-branch) - Corrected mistake which could cause crash if user specified a non- existent scene handler in /vis/sceneHandler/remove. 19th June 2001 Satoshi Tanaka (vis-V03-01-07) -OS dependence is removed from the DAWN-network driver. * gethostname() removed * G4SocketConfig.hh and G4SocketMacro.hh are removed. - Now "setenv G4DAWN_HOST_NAME hostname" is mandatory to use the DAWN-network driver. 15th June 2001 John Allison - Added GAGTree to G4VisManager.cc, MyVisManager.cc. Need corresponding changes in config. 15th June 2001 John Allison (vis-V03-01-06) - Added 2nd template argument (less) to sets in G4ASCIITreeSceneHandler and G4GAGTreeSceneHandler. 15th June 2001 Satoshi Tanaka (vis-V03-01-05) - The first committing of GAGTree driver. - Other files in ./Tree/ are the same as vis-V03-01-04. 5th June 2001 John Allison (vis-V03-01-04) - Moved re-useable code from G4ASCIITree to G4VTree. - Made sure all pointers in G4VisManager are initialised on construction. 4th June 2001 John Allison - G4ASCIITree: Added logical volume name and solid name and type under verbosity control. - G4ASCIITree: Forced culling off so that all volumes are seen, even if "invisible". 29th May 2001 John Allison - Small clean up in test directory. 25th May 2001 John Allison - Bug fix in G4ASCIITree.cc: initialise fVerbosity(0). 24th May 2001 John Allison (vis-V03-01-03) - Added missing files G4ASCIITreeMessenger.hh/cc. - Bug fix in G4ASCIITreeMessenger.cc: currentAsDefault = true. - Drivers in alphabetical order in MyVisManager.cc. 23rd May 2001 John Allison - Eliminated Linux pedantic warnings, except FukuiRenderer, VRML and OPACS. 22nd May 2001 John Allison - Refined ASCIITree. 21st May 2001 John Allison (vis-V03-01-02) - Minor bug corrections (mostly to fix things that used to work with the old /vis~/ commands but ceased to work with the new /vis/commands: o If a scene is empty at drawing time, the "world" is added. o Window size hint now works for OpenGL. - Fixed some minor warnings for strict C++ (size_t, etc.). 18th May 2001 John Allison - Removed unnecessary virtual inheritance of G4VViewer in G4RayTracerViewer. - Introduced verbosity to ASCIITree. - Proper deletion of directories in G4VisManagerRegisterMessengers. 15th May 2001 John Allison - Fixed bug in name of /vis/viewer/set/sectionPlane command. 3rd May 2001 John Allison (vis-V03-01-01) - Changes for greps-V03-01-01 (elimination of RW). - Improvements in /vis/scene/add/volume. - Added /vis/drawTree. 10th April 2001 John Allison (vis-V03-01-00) - Added two new commands: /vis/scene/add/text /vis/scene/add/axes - Added first version of ASCIITree to dump geometry hierarchy to standard output as ASCII stream. This requires two new environment variables: G4VIS_BUILD_ASCIITREE_DRIVER G4VIS_USE_ASCIITREE and config-V03-01-00. 2nd April 2001 John Allison - Tidied OpenGL (opengl-V03-00-01) - see OpenGL/History. 2nd April 2001 John Allison (vis-V03-00-09) - Fixed some warnings from DEC cxx. 15th March 2001 John Allison (vis-V03-00-08) - Changed rotation of phi-replicas in G4PhysicalVolumeModel.cc to ensure correspondence with rule that phi=0 bisects the replica. WARNING: Prior to this fix the graphics did NOT correspond to the replica navigation. If you have been relying on the graphics to position daughter volumes in a phi-replica, navigation will have been incorrect, possibly without causing a crash. The above fix will change the apparent position as shown by the graphics and you will have to correct the positioning of daughters. Make sure the diaghters are all properly enclosed within the replica. Graphics and navigation now correspond, 7th March 2001 John Allison (vis-V03-00-07) - Cosmetic corrections for ISO compliance. 23rd February 2001 John Allison (vis-V03-00-06) - Removed all references to RogueWave. 4th February 2001 John Allison (vis-V03-00-05) - Reverted to /vis/viewer commands updating vis manager's view parameters. Otherwise this can have a big effect on users if old commands are still being used. Let's schedule this change for the next version of Geant4. - Added the following new commands: /vis/enable [true|false] /vis/disable /vis/verbose [] /vis/viewer/set/lineSegmentsPerCircle [] /vis/viewer/set/sectionPlane ... Only /vis/scene/add/text and /vis/scene/add/axes to go!!! 4th February 2001 John Allison (vis-V03-00-04) - /vis/viewer commands no longer update vis manager's view parameters. - Most /vis~/ copmmands give DEPRECATED warning, except: /vis~/draw/axes /vis~/draw/text /vis~/set/section_plane /vis~/set/sides /vis~/set/verbose which have still to be re-implemented. All /vis~/ commands are still available through /vis/ for the time being. (Window size hint no longer works.) - Added "auto refresh" to view parameters. - Added "default" view parameters to viewers. - Made OpenGL viewers "auto refresh" by default. - Added: /vis/viewer/set/autoRefresh /vis/viewer/set/projection - Added compound command: /vis/drawView [] [] [] [] [] [] [] [] 4th February 2001 John Allison (vis-V03-00-03) - Added several new vis commands: /vis/viewer/dolly /vis/viewer/dollyTo /vis/viewer/lightsThetaPhi /vis/viewer/lightsVector /vis/viewer/pan /vis/viewer/panTo /vis/viewer/viewpointThetaPhi /vis/viewer/viewpointVector /vis/viewer/zoom /vis/viewer/zoomTo /vis/viewer/set/hiddenMarker /vis/viewer/set/lightsMove 3rd February 2001 John Allison (vis-V03-00-02) - Tidied for CodeWizard. Small changes to many files in management, modeling and OpenGL. 1st February 2001 John Allison (vis-V03-00-01) - Fixed cause of crash when setting viewpoint before creating scene (Bug #157). Solution: SetView no longer called when view parameters are changed. In any case it's called just before drawing, whixh is the right place. - Fixed /vis/set/sides problem (Satoshi Tanaka) (Bug #204). Solution: Update view's view parameters in /vis/set/sides - had somehow been overlooked. 25th January 2001 John Allison - Added protection against empty G4Polyhedron objects. FukuiRenderer/src/G4FRSceneFunc.icc OPACS/src/G4GoSceneHandler.cc OpenGL/src/G4OpenGLSceneHandler.cc OpenInventor/src/G4OpenInventorSceneHandler.cc VRML/src/G4VRML1SceneHandlerFunc.icc VRML/src/G4VRML2SceneHandlerFunc.icc 25th January 2001 John Allison (opengl-V03-00-00) - Fixed Bug #120. 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 (); 18th January 2001 John Allison - Corrected G4PhysicalVolumeModel. This corrects a bug whereby the requested drawing of a physical volume and its decendants starting at a depth greater than 2 was incorrectly positioned on the screen. - /vis/scene/include commands withdrawn - use equivalent commands /vis/scene/add. - OpenGL: cosmetic and minor performance improvements. 16th January 2001 John Allison (vis-03-00-00) - All vis commands "available" in all G4 states. - Other small cosmetic changes to commands. - OpenGL: square and circle markers correctly rendered. Note: subsequent rotations in stored mode also rotate these markers. - Some small changes to test - see test/History. 2nd November 2000 Gunter Folger (vis-V02-00-02) - Added targets includes and clean_libs to visualization/GNUmakefile. 18th October 2000 John Allison (vis-V02-00-01) - G4PhysicalVolumeModel: protected against volumes without material. - Removed /vis/viewer/update from compound commands /vis/drawVolume and /vis/specify. - Updated comments in G4VisManagerRegisterMessengers.cc. 19th August 2000 John Allison (vis-V02-00-00) - Fixed bug in /vis/lights/direction - now does not refresh view. - Corrected "scene" where it should read "scene handler" in some comments and output statements. 3rd July 2000 John Allison - Explicitly initialised all data members of G4ViewParameters in constructor. 9th June 2000 John Allison (vis-V01-01-06) - Tagged for system testing. 8th June 2000 Guy Barrand - OPACS/src/G4GoSceneHandler.cc : correct polyhedron wire-frame in order to remove some edges. Now the rendering is the same than for OpenGL driver. This was requested for long by ALICE, and had been requested for ATLAS by Gaston Parrour recently. 7th June 2000 John Allison - /vis/viewer/update preferred, synonym /vis/viewer/show deprecated. 7th June 2000 Makoto Asai - Fix the flip view of RayTracer. 2nd June May 2000 John Allison - Forced /control/verbose 2 for compound commands. 20th May 2000 John Allison - Bug fix in G4PhysicalVolumeModel for replicas (Guy Barrand). 26 May 2000 Guy Barrand - management/src/G4VisCommandsScene. Protect against a null pointer for aScene in NotifyHandlers::SetNewValue. - OPACS/src/G4WoViewer.cc : Change camera name checking so that a viewer created by the GUI (Wo) could be hooked. - OPACS/src/G4GoSceneHandler.cc : Change circle rendering. - OpenInventor/G4OpenInventorSceneHandler : protect against null pointers. 22nd May 2000 John Allison (vis-V01-01-05) - Many bug fixes from in OpenGL (opengl-V01-01-00) - see OpenGL/History. Main features: o workaround for bug in Mesa which slowed OpenGLXm (Guy Barrand). o multiple OpenGLXm windows no longer cause crash on exit (Guy). - modeling-V01-01-00: Added G4VTreeGraphicsScene (DTREE). - G4Scene::IsEmpty if empty of RunDurationModels - VisManager adds world in this case. 18th/19th May 2000 John Allison - Introduced some /vis/viewer/set commands. - /vis/scene/include/trajectories changed to /vis/scene/add/trajectories. Similarly hits. (Old commands kept but deprecated.) - G4ViewParameters.cc: bug fix in density culling printing. - G4VisCommandsSceneHandler.cc: bug fix in /vis/sceneHandler/create. - G4VisManagerRegisterMessengers.cc: improved comments. 18th May 2000 John Allison vis-V01-01-04 - Included DAWN-V01-01-04: Automatic filename incrementation is made default. 15th May 2000 John Allison - Added compound commands /vis/open, /vis/drawVolume and /vis/specify. - /vis/viewer/reset now resets *all* view parameters. - Fixed double application of transformation in /vis/scene/add/volume. - Fixed verbosity parameter in /vis/scene/list. - Made G4BoundingSphereScene::PreAddThis non-inline. 13th May 2000 John Allison - Redefined current target point to be *relative* to standard target point. (No longer necessary to initialize current target point in G4VViewer constructor. The fix of 4th May is reversed.) 11th May 2000 Satoshi Tanaka vis-V01-01-03 - In G4DAWNFILEViewer.cc, < strcpy( fPSViewer, "ghostview" ); --- > // strcpy( fPSViewer, "ghostview" ); > strcpy( fPSViewer, "gv" ); 4th May 2000 John Allison - Tidied comments in G4VisManagerRegisterMessengers.cc. - Initialize current target point in G4VViewer constructor. - Re-implemented /vis/viewer/reset to change view parameters of viewer directly. 2nd May 2000 John Allison vis-V01-01-02 - Added /vis/viewer/reset. - G4VSceneHandler, G4VViewer, G4OpenGLXmMainMenubarCallbacks: corrected some name anomolies - "scene" was still being used in places where it meant "scene handler". - G4VViewer: added GetShortName(), corrected SetName(...). - G4ViewParameters.hh: improved class description. - G4VisManager: added ViewerShortName(...) and GetViewer(...) utilities. - G4RayTracer: set out-of-world ray to black. - G4RayTracerViewer: corrected trapping of orthogonal projection. - Some minor enhancements to tests. 27th April 2000 Gabriele Cosmo - Removed unnecessary #include "G4Transform.hh" from VRML. (Since geometry-V01-01-02 G4Transform.hh no longer exists.) 27th April 2000 John Allison - Updated README file. 12th April 2000 John Allison vis-V01-01-01 - Made G4PhysicalVolumeModel::DescribeSolid virtual. - G4PhysicalVolumeModel::DescribeSolid no longer deals with composite solids - now programmed into CompositeSolid::CreatePolyhedron, where CompositeSolid means G4IntersectionSolid, G4SubtractionSolid and G4UnionSolid. - G4PhysicalVolumeModel::DescribeSolid no longer deals with displaced solids - now programmed into G4DisplacedSolid::CreatePolyhedron. - Added G4LogicalVolumeModel::DescribeSolid, which explicitly adds components of composite solids as white forced-wireframe objects. - Removed unnecessary #includes from G4VSceneHandler.hh which required consequent inclusion in many other scene handlers and viewers. 7th April 2000 John Allison vis-V01-01-00 - Modified GNUmakefiles for restructured geometry. 29th February 2000 John Allison vis-V01-00-06 - Changed `char*' to `const char*' in G4FRClientServer::Err(...). 28th February 2000 John Allison - Cosmetic improvements to G4RayTracerSceneHandler.hh and G4RayTracerViewer.hh. 24th February 2000 John Allison - Minor inmprovement of messages from /vis/viewer/refresh. - Cosmetic tidying in G4OpenGLViewer.cc. - Added protection for null viewer in G4RTSteppingAction.cc and G4RayTrajectory.cc. - Corrected for zoom, etc., in G4RayTracerViewer.cc. 23rd February 2000 John Allison - Added G4RayTracerSceneHandler and Viewer. - Some modifications to other RayTracer routines for vis compliance. - (Note: headAngle still not right - ray traced views are sometimes tipped.) 23rd February 2000 John Allison vis-V01-00-05 - Includes raytracer-V01-00-01a which is original version plus fixes for ISO compliance. 21st February 2000 John Allison - /vis/viewer/refresh no longer invokes ShowView(). - G4VViewer: introduced data member fShortName. - Added G4RTSteppingAction and G4RayTrajectory to list of G4VisManager's friends. - Improved G4VisManager::CreateSceneHandler() and CreateViewer() and handling of error in G4VisCommandSceneHandler::Create() and G4VisCommandViewer::Create(). - OpenGL: char* becomes const char*. Small output text improvement. - test: some changes for Ray Tracer. Boolean intersection instead of union. 02 February 2000 Guy Barrand - OPACS/src/G4XoViewer.cc : change WaitForNotify signature to be able to compile with DEC-cxx 6.1. vis-V01-00-04 29th January 2000 Satoshi Tanaka - CVS tag is assigned to the Makoto's committing below. 29th January 2000 Makoto Asai - Introduction of G4RayTracer (visualization/RayTracer/...) - Migration of G4RayTracer affected files : visualization/GNUmakefile visualization/management/include/MyVisManager.cc visualization/management/src/G4VisManager.cc affected files in other directory : config/G4VIS_BUILD.gmk config/G4VIS_USE.gmk vis-V01-00-03 17th January 2000 John Allison - Added protection for no voxelisation in G4LogicalVolumeModel.cc. - Changed endl to G4endl in G4VisCommandsViewer.cc and G4GoSceneHandler.cc. 14th January 2000 John Allison - Added protection for no viewer in G4VisCommandsViewer.cc. vis-V01-00-02 11th January 2000 John Allison - General handling of displaced solid (G4PhysicalVolumeModel). - Introduced /vis/viewer/show (/vis/viewer/update is synonym). - Improved printing in /vis/camera/reset. vis-V01-00-01 27th December 1999 Satoshi Tanaka - VRML-V01-00-00 27th December 1999 Satoshi Tanaka - G4endl ==> "\n" for fDest objects ... for ISO standard C++ compiler vis-V01-00-00 16th December 1999 John Allison - (Note: NOT FOR SYSTEM TESTING - this tag still has problems with displaying logical volumes and text.) - Added /vis/viewer/refresh. - Rationalised command lists for keeping parameter lists up to date, G4VVisCommand::sceneNameCommands, etc. - Added AddThis(const G4Polycone&), etc., to prevent hiding warnings. - Developments in test - see test/History. vis-V00-01-14a 7th December 1999 John Allison - Added `class' keyword in friend statement in G4VisStateDependent.hh to keep HP happy. vis-V00-01-14 6th December 1999 John Allison - Invert rotation of boolean component in G4PhysicalVolumeModel.cc. vis-V00-01-13 Satoshi TANAKA Dec 01, 1999 - DAWN-V00-01-08 - Removed implicit casting from the previous updation vis-V00-01-12 Satoshi TANAKA Nov 30, 1999 - DAWN-V00-01-06 - Fixing improper definition of alpha1, alpha2 vis-V00-01-11 29th November 1999 John Allison - Introduced helper class G4VisStateDependent to decouple G4VisManager from G4StateManager, G4RunManager, etc. - Archived old directoris inside test subdirectory. vis-V00-01-10 25th November 1999 John Allison - Adapted relevant header files of modeling and management for Software Reference Manual. vis-V00-01-09 23th November 1999 Satoshi Tanaka - Protection to ill-defined G4Trap in AddThis() vis-V00-01-08 10th November 1999 John Allison - Added capability of viewing Boolean solids - coworks with geometry-V00-01-01. - Fixed bug in G4VViewer to maintain proper status of fNeedKernelVisit. - Added Boolean solids to test/src/MyDetectorConstruction.cc. - Added circle to represent end of step in test/src/MySteppingAction.cc. vis-V00-01-07 5th November John Allison - Added /vis/viewer/update []. - Some groundwork for /vis/scene/edit. - Added additional check in G4VisManager::IsValidView(). - G4VSceneHandler::ClearStore() invokes fpViewer -> NeedKernelVisit(). (After a clear of the graphical database it is necessary to do this. So if a derived class redefines, it must still invoke this base class method. - G4Scene::AddRunDurationModel(), AddWorldIfEmpty(), AddEndOfEventModel(): avoid duplicate models and flag with G4bool return argument. - G4VisCommandsSceneAdd: respect the above G4bool return value. - G4Scene::AddRunDurationModel(): remove temporary workaround for old CLHEP non-const problem. - Added 3rd template argument of map (to keep Sun CC 4.2 happy) in G4OpenGLStoredSceneHandler.hh and G4OpenInventorSceneHandler.hh. - G4OpenGLStoredSceneHandler::ClearStore() and G4OpenInventorSceneHandler::ClearStore() invoke base class function G4VSceneHandler::ClearStore(). VRML-V00-01-01 4th November 1999 Satoshi Tanaka - Introduction of VRMLBeginModeling() for new vis commands - Updation and tagging of visualization/VRML/ and this History file DAWN-V00-01-04 04th November 1999 Satoshi TANAKA - Protection to AddPrimitive( G4NURBS ) - Updation and tagging of visualization/FukuiRenderer/ and this History file DAWN-V00-01-03 02nd November 1999 Satoshi TANAKA - Updation and tagging of visualization/FukuiRenderer/ and this History file - Environmental variable G4DAWN_MULTI_WINDOW is renamed to G4DAWNFILE_MULTI_WINDOW for DAWN-file driver. (G4DAWN_MULTI_WINDOW still works for a while.) DAWN-V00-01-02 01st November 1999 Satoshi TANAKA - Updation and tagging of visualization/FukuiRenderer/ and this History file - Separation of BeginModeling() and FRBeginModeling(). Co-workable with /run/beamOn with the new vis commands. 29 Oct 1999 Guy Barrand - Modify G4Xo.cc to not load G4Xo.xrm resource file. Resource must be grouped in some g4.xrm file. vis-V00-01-06 25th October 1999 John Allison - No longer update view parameters in /vis/scene/add/volume, etc. - Change G4RWTValHashDictionary to G4std::map in G4OpenGLStoredSceneHandler and G4OpenInventorSceneHandler (needs global-V00-01-03). 11 Oct 1999 Guy Barrand - G4GoSceneHandler.cc/G4GoSceneHandler::EndPrimitives : modify the logic of setting the OMatrix for Go objects in order to avoid the usage of the CLHEP/Rotation.getAngleAxis that clearly has precision problem on some platforms (at least Linux and HP-UX). vis-V00-01-05 4th October 1999 John Allison - Implemented /vis/scene/add/logicalVolume. - Added G4LogicalVolumeModel. - Augmented G4PhysicalVolumeModel so G4LogicalVolumeModel could inherit. - Updated G4BoundingSphereScene and G4PhysicalVolumeSearchScene to implement extra virtual functions in G4VSceneHandler interface. - Moved virtual destructor G4VModel::~G4VModel to non-inline implementation. - Tidied G4VSceneHandler. vis-V00-01-04 30 Sep 1999 Satoshi Tanaka - RW/STL dependence was removed from VRML 1.0 driver 15 Sep 1999 Guy Barrand - Modify G4OpenGLStoredSceneHandler.cc to compile on Linux-g++ with STL. vis-V00-01-03 27th August John Allison - Modified GNUmakefile to prevent building of global libraries. vis-V00-01-02 27th August John Allison - Eliminate residual references to G4Ray. - Improved some informational printing in G4VisManager::IsValidView. - G4Vis Manager::SetCurrentGraphicsSystem no longer gives spurious warnings. - Improved README (change `gmake global' to plain `gmake'). vis-V00-01-01 26th August Satoshi TANAKA - Protection for invalid calling of BeginModeling - .DAWN.history ==> .DAWN_1.history **** It means DAWN version 3.80a or after is required *** vis-V00-01-00 24th August Satoshi TANAKA - Improved README. vis-01-00-15a 3rd July 1999 John Allison - Improved README (Guy). - Corrected a fprintf statement in G4OpenGLXViewer::spewWireframeEPS. vis-01-00-15 29th June 1999 John Allison - Moved #include from G4OpenGLSceneHandler.hh to .cc. - Corrected #ifdef G4VIS_BUILD_OPENGL_DRIVER in G4OpenGLXViewer.hh. vis-01-00-14 19th June 1999 John Allison - Removed references to G4Ray from GNUmakefile. - Archived (cvs removed) all G4Ray files. - Cosmetic change to an output statement in G4VisToOldVisCommands.cc/ vis-01-00-13 1st June 1999 John Allison - Updated README for May Release (Satoshi, John). - Removed G4Ray from tag. 31 Mai 1999 Guy Barrand - G4XoViewer : remove enabling/disabling XoCamera popup menu logic. In some situation (N03) we were loosing the XoCamera popup menu. - G4XoViewer : correct ClearStore, ClearTransientStore. vis-01-00-12a 26th May 1999 John Allison - G4TrajectoriesModel.cc: (*TC) [iT] -> DrawTrajectory (); vis-01-00-12 25th May 1999 John Allison - Moved global operator != to member function. - Updated OPACS to handle "ClearTransientStore" (Guy). vis-01-00-11 12th May 1999 Guy Barrand - G4VSceneHandler : ClearTransientStore. - G4VisCommandsSceneHandler : protect against a null pointer. - OpenInventor : use HEPVis/SoWindow to create windows (needed on NT). Implement the a "transient scene graph" for "event" things. Use fXxx convention for fields. - G4TrajectoriesModeling : do not draw a "marker" at each step by default. vis-01-00-10 10th May 1999 John Allison - Acted upon Code Wizard reports. Mainly made destructors virtual. vis-01-00-09 28th April 1999 John Allison - Changes for UserAction classes. vis-01-00-08 John Allison - Changes by Paulo Mora de Freitas for decoupling vis from parameterisation. 18th April 1999 John Allison - Added "defined" after || in VRML1(1)(File).hh. (Some preprocessors give an error without it.) vis-01-00-07 15th April 1999 John Allison - Replaced visualization/test/GNUmakefile by a simple one using binmake.gmk. - Added CPPFLAGS += -I$(G4BASE)/intercoms/include to some GNUmakefiles ready for the move of G4VGraphicsScene to intercoms. vis-01-00-06 29th March 1999 John Allison - Platform dependency fix in G4VisCommandsScene.cc. vis-01-00-05 7th February 1999 John Allison - management: - Added /vis/scene/notifyHandlers. - Added virtual functions AddThis (const G4Polycone and G4Polyhedra to G4VSceneHandler - Moved some code from G4VisManager to G4Scene::AddWorldIfEmpty. - Various refinements and bug fixes. - modeling: Augmented G4PhysicalVolumeSearchScene and G4BoundingSphereScene See modeling/History. - OpenGL: - Corrected edgeCount check for triangles in G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron&). - Added (long unsigned int) cast in G4OpenGLXmRotationCallbacks.cc. - Added SetView and ShowView to G4OpenGLXViewer: // To force change of context... void G4OpenGLXViewer::SetView () { glXMakeCurrent (dpy, win, cx); G4OpenGLViewer::SetView (); } // Hopefully to get better flushing in DEC OpenGL... void G4OpenGLXViewer::ShowView () { glXWaitGL (); glFlush (); } vis-01-00-04 11th January 1999 John Allison - Completed change of names from scene to sceneHandler, view to viewer. - Vis manager and scene handlers now keep pointer to scene, rather than a copy. - G4SceneList now a simple G4RWTPtrOrderedVector. - /vis/camera/reset now resets viewpoint direction and up vector. vis-01-00-03 10th January 1999 John Allison - Added flags for viewing geom, hits, digis to G4ModelingParameters. vis-01-00-02 9th January 1999 John Allison - Changed Scene to SceneHandler, View to Viewer. vis-01-00-01 6th January 1999 John Allison - Made G4VisManager::GetInstance() private to prevent inadvertent misuse. - Removed #include GNU_GCC - no longer necessary for egcs. - Continued developing the new commands. vis-00-04-04 16th December 1998 John Allison - test/GNUmakefile for Linux-g++ - test/test19.cc - removed g4templates.hh - OpenGL - reverted to 100%. vis-00-04-03 9th December 1998 John Allison - Made /vis/ commands from /vis~/. The idea is to maintain backwards compatibility while allowing us to "deprecate" the old commands over a period of time. Some of these /vis/ commands respond with "superceded", i.e., superceded by new commands, but still available in /vis~/. - OpenGL viewing volume increased by 20% to prevent corners being clipped. - 08/12/98 : G.Barrand : OpenInventor : due to huge load problems on various platforms, init only the HEPVis things that are needed. vis-00-04-02 30th November 1998 Satoshi Tanaka - G4VRMLFILE_DEST_DIR for customising out file name - see VRML/History. 29th November 1998 - Added CPPFLAGS += -I....electromagnetic/utils/include to test/GNUmakefile. - Added fName to G4SceneData. vis-00-04-01 25th November 1998 John Allison. - G4Ray/GNUmakefile update for move of files in particles. - Added const G4VisAttributes* fpDefaultVisAttributes and access functions to G4ModelingParameters. - Reverted to default assignment operator and copy constructor for G4ModelingParameters and G4ViewParameters. - G4PhysicalVolumeModel can now handle invisible daughters. - More new /vis/ commands - depends on intercoms-00-04-01. - G4VScene passes DefaultVisAttributes* to ModelingParameters. vis-00-03-07 23rd November 1998 John Allison. - modeling/GNUmakefile update for move of files in particles (Hisaya). - Removed semi-colon in G4BoundingSphereScene.cc. vis-00-03-06 9th November 1998 John Allison. - Small change to a message in G4VisManager. - VRML refinement - see VRML/History. - Needs greps-00-03-03. vis-00-03-05b 9th November 1998 John Allison. - Merged 6th November changes with vis-00-03-05a - Bug fix in G4VisManager::IsValidView for batch running. - Needs greps-00-03-03. vis-00-03-05a 9th November 1998 Satoshi Tanaka - VRML 2.0 Visualization driver is added to management/include/MyVisManager.cc. vis-00-03-05 9th November 1998 Satoshi Tanaka - VRML 2.0 Visualization driver is commited: (1) Generatin of VRML 2.0 format files to describe Geant4 simulation. (2) Interactive displaying of physiccal-volume names and copy numbers (3) Interactive displaying of hit positions (displayed strings are costomizable. (4) Wireframe drawing style of Geant4 visualization is reflected as transparency = 0.7. This value is customizable. If transparency is 1.0, drawing of detector geometry is skipped, and hits can be picked easily. 6th November 1998 John Allison - Implemented basic /vis/viewer commands. - Added `const G4String& name' argument to G4VScene and G4VView constructors. vis-00-03-04 30th October 1998 John Allison - Tagged. 29th October 1998 Guy Barrand - G4OpenGLXView.hh, G4OpenGLXmView.cc, G4OpenGLXmWindowHandlingCallbacks.cc in order that things compile and compile without warnings on HP/aCC 14th October 1998 John Allison - Augmented the new /vis/ commands. Still not complete but they co-work with the old commands. - Changed char* fName to G4String fName in G4VScene and G4VView. Consequent changes in G4OpenGLView. Also OpenInventor? Etc. 11th October 1998 Andy Walkden - added (not a very good) version of hidden lines removal code. This code suffers from depth buffering artefacts. glPolygonOffset is a feature of OpenGL version 1.1, and can help overcome depth buffer problems. The code to utilise glPolygonOffset is committed, but commented out, as it doesn't seem to work with the version of Mesa available on rsplus currently. My ideal strategy is to enable depth testing, draw the model as lines, enable filled polygon offsetting (glPolygonOffset(1.0 /*offset scale factor*/, 2/*offset bias*/); glEnable (GL_POLYGON_OFFSET_FILLED);) then draw the model as filled polygons. The offsetting should just add `2' (in window coordinates, I think) onto the z value of all vertices relating to filled polygons, thus dismissing the conflict between almost identical z values for lines and filled polygon edges. vis-00-03-03 9th October 1998 John Allison - G4VisManager inherits G4VStateDependent. This is used to draw end-of-event models. 4th October 1998 Andy Walkden - Added ability for all G4OpenGLX derived graphics systems to produce vectored PostScript hardcopy. Facility for `automated screen dump' (i.e. pixmap output) still kept, as some rasterization features don't make it into the vectored PostScript output (such as haloing effects). Facility currently available via G4OpenGLXm by clicking `Miscellany' then `Create .eps file', to get a popup printing window. vis-00-03-02a 26th September 1998 - DAWNFILE driver is made platform dependent. (It is now compilable both at both Unix and NT without necessity of C macros like WIN32.) vis-00-03-02 25th September 1998 - DAWNFILE driver is ported to VC++ vis-00-03-01 24th September 1998 John Allison - Eliminated G4VPhysicalVolume* fpWorld data memebr from G4VisManager. 22th September 1998 Guy Barrand. - Correct modeling, management, G4Ray /GNUmakefile to have correct digits+hits includes. 19th September 1998 Guy Barrand. - Due to a correction in globals.h restore correct code so that OpenInventor files compile correctly on NT. vis-00-02-06 31st August 1998 John Allison - Added G4VModel::Validate() and in subclasses. - Reverted to default copy constructir and assignment operator in G4SceneData. - Implemented G4VisManager::GeometryHasChanged(). - Switched on echoing of commands and history mechanism in test19.g4m. vis-00-02-05 27th August 1998 John Allison - Added G4HitsModel and G4TrajectoriesModel. - Added /vis/scene/include/hits and trajectories, and some bug fixes. vis-00-02-04 22nd August 1998 John Allison - Many changes in modeling - see modeling/History. - New commands: /vis/scene/create, list, add/volume, add/ghosts. vis-00-02-03a 20th August 1998 John Allison - Restored some code in G4SceneData.cc - Fixed syntax bug in G4PhysicalVolumeSearchScene.hh vis-00-02-03 14th August 1998 John Allison - Added G4VisManager::GeometryHasChanged() - run manager can notify change. - Removed AddRun(Event)DurationModelToCurrentSceneData - no longer used. - Some bug corrections in visualization/OpenGL (Guy Barrand - see vis blackboard for details). - Some protection added in visualization/OPACS (do.) - Created visualization/test/OPACS (do.) 12th August 1998 John Allison - More new commands - not fully functional yet. 11th August 1998 Guy Barrand - G4OpenInventor : remove uneccesary includes. vis-00-02-02b 11th August Satoshi Tanaka - AddPrimitive() for polymarker are implemented in DAWN and VRML drivers. vis-00-02-02a 9th August John Allison - Small bug fix in G4VisCommandsScene.cc. vis-00-02-02 9th August John Allison - Changed '.' to '-' in scene/view names. - Began introduction of new /vis/ commands. - Consequent changes to test - see test/History. 7th August Guy Barrand. - OPACS : use G4VView name to build widget names. - OPACS : use new interactor parenting logic. - OpenGL, OpenInventor, G4Ray : clean compilation warnings for OSF1/cxx, HP/aCC. 7th August John Allison/Satoshi Tanaka/Guy Barrand. - Added G4Scene::AddPrimitive (const G4Polymarker&) to keep compilers happy. vis-00-02-01 6th August John Allison - Created G4VisManagerRegisterMessengers.cc. - Bug fix in G4VisManager: now follows change of world volume after /vis~/clear/scene. - OpenInventor: Correct some upper -> lower case mess (Guy Barrand) - G4RayView: syntax bug fixes. 4th August 1998 Andy Walkden I made some changes to OpenGL code... The changes are (i) to tidy up some redundant hidden line removal function calls, (ii) to put some hidden line removal code in G4OpenGLScene::AddPrimitive(G4Polyhedron) and (iii) to add an option to generate an encapsulated postscript file of the current view in OpenGLXm. There is now a button in the Miscellany pulldown of the main menubar to bring up a shell in which you can specify a filename, colour or black and white and request the creation of a .eps file. The code is to be found in G4OpenGLXView, and so is not bound to the Xm user. Also it needs fixing for some Mesa implementations, and the HP CDE environment manages to stuff things up when rendering to a pixmap (although CDE makes a mess of most other things as well, so this isn't disastrous). vis-00-01-08 21th July 1998 John Allison - Removed automatic refresh from /vis/camera/reset in G4VisCommandsCamera.cc. vis-00-01-07b 21th July 1998 Satoshi Tanaka - Revised G4FRSCENE::SendBoundingBox() so that zooming polycy of DAWN drivers becomes consistent with OpenGL drivers vis-00-01-07 20th July 1998 John Allison - Corrected bug in G4VisManager::IsViewValid to trap drawing commands before geometry is available. vis-00-01-06 19th July 1998 John Allison - Default culling: culling - on, culling of invisible objects - on. - set/drawing_style does *not* change culling flags. - Minor bug fixes. vis-00-01-05 15th July 1998 John Allison - Cleaned up after name changes. - Minor bug fixes. vis-00-01-04 7th July 1998 Guy Barrand - Introduced interactivity.gmk into GNUmakefiles. vis-00-01-03 6th July 1998 John Allison - Changes for interface restructuring. - Simplified MyVisManager. vis-00-01-02 5th July 1998 John Allison - Changed visualization/GNUmakefile to use globlib.gmk. - Updated README for geant4beta. - Changed /vis~/draw/Ghosts to /vis~/draw/ghosts. vis-00-01-01 4th July 1998 John Allison - Moved G4VIS_BUILD.gmk and G4VIS_USE.gmk to geant4beta/config. - Changed /vis/ to /vis~/. 3rd July 1998 John Allison - Small changes to test - see test/History. - Tidied. - Removed GNUmakefile.G4VIS_USE and make_list.sh. 30th June 1998 - Paulo & Marc - added the G4FlavoredParallelWorldModel.hh file to visualization/modeling/include; - added the /vis~/draw/Ghosts [particle name] command in the G4VisManMessDraw.cc file; - added CPPFLAGS += -I$(G4BASE)/geometry/magneticfield/include and CPPFLAGS += -I$(G4BASE)/processes/parameterisation/include lines to GNUmakefile to compile G4VisManMessDraw.cc. geant4beta ============================================================ geant4alpha vis-00-06-09 26th June 1998 John Allison - OPACS and Open Inventor - something about widget parents (GB) - Removed /new_vis/ commands. vis-00-06-08a 26th June 1998 Satoshi Tanaka - Updated G4VIS_USE.gmk - (1) Macro -DG4VIS_USE_DAWNFILE is made properly set - (2) G4VIS_USE_DAWN_ is renamed to G4VIS_USE_DAWN_OR_DAWNFILE - (3) G4VIS_USE_VRML_ is renamed to G4VIS_USE_VRML_OR_VRMLFILE vis-00-06-08 22nd June 1998 John Allison - Changed G4BASE = ../.. to G4BASE = $(shell (cd ../..; pwd)) - Changed GNUmakefile.G4VIS_BUILD to G4VIS_BUILD.gmk vis-00-06-07 19th June 1998 John Allison - Defined G4_SOLVE_VIS_TEMPLATES in G4VIS_USE.gmk. Needs the head version of GNUmakefile.architecture. - Consequential changes (improvements) to template handling in test19.cc - Some minor improvements in modeling. vis-00-06-06 11th June 1998 John Allison - Fixes to test_utils - see test/History. - Improvements in modeling - see modeling/History. vis-00-06-05 11th June 1998 Satoshi Tanaka - In G4VisManMessDraw.cc and G4VisManMessSet.cc , ... // G4double unit = G4UIcommand::valueOf (unitString); G4double unit = G4UnitDefinition::GetValueOf (unitString); vis-00-06-04 10th June 1998 John Allison - Created G4VIS_USE.gmk to replace GNUmakefile.G4VIS_USE. - Changed test/GNUmakefile to use G4VIS_USE.gmk. - Separate libraries are now default in GNUmakefile. - Committed an interim version of README. - Moved G4BoundingSphereScene from management to modeling. - First attempt at defining the "scene" as lists of models. - Removed some unnecessary checks in G4VisManMess*. vis-00-06-03 27th May 1998 Satoshi Tanaka - DAWNFILE driver is added. It is to generate g4.prim file under the current directory. And make DAWN or DAVID invoke using the g4.prim file as an input. For details, see the blackboard document. 21st May 1998 Andy Walkden - Added hidden line removal code to G4OpenGLView. HLR utilises OpenGL's stencil buffer, but still the drawn lines are a little fragmented (an effect seen often when depth buffering is used to resolve pixel rendering disputes). - HLR requires wireframe rendering, filled polygon rendering and then wireframe rendering again. Hence, three visits to the kernel help to slow HLR rendering right down. vis-00-06-02 20th May 1998 Satoshi Tanaka - Added G4VisFeaturesOfDAWNFILE.hh, cc - Revised visualization/GNUmakefile, GNUmakefile.G4VIS_BUILD, GNUmakefile.G4VIS_USE - These are for DAWNFILE driver in preparation, which enables to invoke DAVID directly from Geant4. vis-00-06-01a 20th May 1998 Satoshi Tanaka - code refinement of FukuiRenderer driver vis-00-06-01 29th April 1998 John Allison - Introduced non-pure virtual functions Establish/DecommissionSpecials (G4PhysicalVolumeModel&) in G4VGraphicsScene with implementation of the former in G4VScene. Modified G4PhysicalVolumeModel to use it; also protected G4PhysicalVolumeModel against non-implementation of Establish/DecommissionSpecials. - Template instantiations in G4RayView made exclusive to GNU_GCC - Some minor changes under test - see test/History. 27th April 1998 Andy Walkden - altered OpenGLView's structure a little. Now, G4OpenGLXmView is a type of (inherits from) G4OpenGLXView. - made code for haloing effects common to all OpenGL views. - changed XUnmapWindow in G4OpenGLXView::~G4OpenGLXView to XDestroyWindow (idea of Guy's) 27th April 1998 Guy Barrand - vis/OPACS : remove Begin/EndModeling in G4GoScene. vis-00-05-06 23rd April 1998 John Allison - Changed test19.mac to test19.g4m and consequent change in test19.cc. - Fixed order of linking vis-a-vis -lG4track and -lG4tracking (GB). - Fixed inadvertent bug in test_utils/src/MyPhysicsList.cc. - Bug fix in G4OpenGLXmConvenienceRoutines.cc (GB). vis-00-05-05 21st April 1998 John Allison - Added run-time command line argument: test19 [] [] - Removed #if GNU_GCC from template instantiation requests in test19.cc. - Added fDefaultTextVisAttributes to G4ViewParameters. - Added G4VScene::GetTextColour (changed G4FukuiRendererScene, G4GoScene and G4OpenInventorScene. - Changed default view parameters: culling on and invisible object culling on. - Tidied CreateScene/View. - Continued BaBar development. 15th April 1998 John Allison - Added test/EucIntfce/, test/Bogus/ and test/babar_utils/ for BaBar test code. Also a new main() in BaBarCallListTest.cc. Also a data file call_list.dat. See babar_utils/README. - Camera commands, except spin and orbit, no longer initiate draw. - Text is blue for time being (visible on black or white background.) 15th April 1998 : Guy Barrand - From discussion with John and Simone G4VToolkit has been renamed to G4VInteractorManager. vis-00-05-04a 11th April 1998 Satoshi Tanaka - Code improvements in DAWN driver - (1) View parameters are sent to DAWN only at drawing times. - (2) Way of getting marker size are made simpler by using - G4VScene::GetMarkerRadius () etc. vis-00-05-04 8th April 1998 John Allison - Small bug fix - then tag for Easter. HEAD 6th April 1998 John Allison - Added error printing to G4OpenGLScene::AddPrimitive (const G4Text& text). - Added /vis~/draw/text. - Added units to /vis~/draw/axes. - Began the job of restructuring vis commands; so there is a new class G4VisCommandsCameraMessengers for starters! HEAD 4th April 1998 John Allison - Removed automatic drawing after /vis~/set commands. Now an explicit redraw is necessary, but it allows you to change parameters during building a view. For example to superimpose projected hits on a section: /vis~/clear/view /vis~/set/section_plane on 0 0 20 cm 0 0 1 /vis~/draw/current /vis~/set/section_plane off /run/beamOn - Fixed small bug in OpenGL for section drawing. - Made some small improvements in G4ViewParameters. vis-00-05-03 4th April 1998 John Allison - Re-engineered maintenance of current depth, etc. Needed new method G4VGraphicsScene::BeginModeling (G4PhysicalVolumeModel&) in graphics_reps. The result is much cleaner model and modeling parameters classes. Also, the current depth, physical volume and logical volume are immediately available as protected pointers in G4VScene. - Required G4VScene::Begin/EndModeling to be invoked from subclass. - Introduced G4NullModel to hold modeling parameters. This avoids having to create a G4VModel for each graphics primitive. HEAD 3rd April 1998 John Allison - Added GetMarkerDiameter/Radius to G4VScene. - Bug fix in G4VScene::GetMarkerSize. - Removed GetCurrentPhysicalVolume from G4PhysicalVolumeModel - now in G4ModelingParameters (but might move again soon!). - test/GNUmakefile now uses "$(MAKE) separate" for vis libraries. - test19 recognises argument "1" as a verbose flag value. HEAD April 2, 98 G.Barrand - Modifications for Win32/NT. - G4VIS_BUILD_[OIX, OIWIN32]_DRIVER, G4VIS_USE_[OIX, OIWIN32] vis-00-05-02 26th March 1998 John Allison - Added GetMarkerSize to G4VScene. - Made ~G4VisManager virtual. - Added current logical volume and current physical volume to working space in modeling parameters. So it is no longer necessary to cast to G4PhysicalVolumeModel; all such casts removed. - Moved nested classes out of G4RayView. HEAD March 24, 98 G.Cosmo - Modified G4VisManMessExpert.cc to correctly use random numbers by calling directly G4UniformRand(). HEAD March 24, 98 G.Barrand - GNUmakefile : MAKESHLIB changed in G4MAKESHLIB vis-00-05-01a 24 March 1998 Satoshi Tanaka - Geometry tree can be obtained by, e.g., % grep PVName g4.prim > g4.tree vis-00-05-01 23rd March 1998 John Allison - Made RegisterGraphicsSystems pure virtual. - Added verbose level control to printing at initialization. - Fixed (hopefully) bug in scene deletion. - Made AddPrimitive (const G4Text/Circle/Square) pure virtual. (Had to add dummy void G4VRML1SCENE::AddPrimitive (const G4Text&).) - Made AddPrimitive (const G4Polymarker&) virtual again. - Opened some .hh files to G4VIS_USE flags. - Removed Pre/PostAddThis from some graphics systems (not OPACS, OI). - First implementation of G4ModelingParameters::hierarchy (DTREE). - Added Get Global/Current Tag/Description to G4VModel. - Introduced "working space" in G4ModelingParameters for geometry depth. - Relocated some template instantiation requests (might give trouble on DEC). vis-00-04-05a 16th March 1998 Satoshi Tanaka - DAWN driver outputs physical-volume names and copy number. vis-00-04-05 5th March 1998 John Allison - Added G4Text/Circle/Square in G4RayScene.hh. - Added G4Text/Circle/Square in G4BoundingSphereScene.hh. - Made AddPrimitive (const G4Polymarker&) non-virtual in G4VScene.hh. HEAD 5th March 1998 Andy Walkden - Implemented G4Circle/Square. - Added haloing to OpenGLXm "value added" options. HEAD 5th March 1998 S.Sadilov - visualization/GNUmakefile - using $OUT_LIB intoduced in GNUmakefile.architecture - visualization/management/GNUmakefile - compiling G4VisManMessSet.cc without optimization on WinNT vis-00-04-04a 5th March 1998 Satoshi TANAKA - Environmental variables to customized DAWN driver is renamed from DAWN_... to G4DAWN_... - Default mode of DAWN driver is EPS mode, i.e. mode in which EPS files are generated. vis-00-04-04 4th March 1998 John Allison - First tag with modeling under visualization. Here's what you need to do... cd prototype cvs update -A -d -P modeling cd visualization cvs update -r vis-00-04-04 -d -P Change the following lines in your GNUmakefile... CPPFLAGS += -I../../visualization/modeling/include LDFLAGS += -L../../visualization/modeling/$(G4SYSTEM) Remove: @cd ../../modeling && $(MAKE) vis-00-04-03 4th March 1998 John Allison - Last tag with modeling at same level as visualization. - Renamed near and far (VC++ keywords) in G4ViewParameters.cc. - Removed unnecessary #include or adapted for WIN32. vis-00-04-02b 22nd February 1998 Satoshi Tanaka - Split G4VIS_BUILD_VRML1_DRIVER into G4VIS_BUILD_VRML_DRIVER and G4VIS_BUILD_VRMLFILE_DRIVER. - Split G4VIS_USE_VRML1 into G4VIS_USE_VRML and G4VIS_USE_VRMLFILE. vis-00-04-02a 18th February 1998 John Allison - Bug fix in G4RayView! vis-00-04-02 18th February 1998 John Allison - Introduced /vis~/set/section_plane. vis-00-04-01 13th February 1998 John Allison - Made messengers compatible with the new style. vis-00-03-02a 3rd February 1998 John Allison - Bug fix for 02. - Changed GNUmakefile to use processes sub-libraries. vis-00-03-02 2nd February 1998 John Allison - Modernised messengers. vis-00-03-01a 29th January 1998 John Allison - Tagged a few improvement in OpenGL vis-00-03-01 26th January 1998 John Allison - Old environment variables abandoned - see visualization/README. - G4VisManager is now instantiated *and* deleted in main(). - G4VisRegisterGraphicsSystem.icc replaced by MyVisManager::RegisterGraphicsSystems as a way - now optional - of a user overriding the default graphics system registration. Januray 20 , 98 G. Barrand - Implement object rotation in OPACS driver Januray 19 , 98 G. Barrand - Correct OpenInventor code so that it is ANSI-C++ and then compiles with OSF1/cxx, HP-UX/aCC. 7th January 1998 John Allison - Restructuring to use modeling category. December 19, 97 G. Cosmo - (alpha03) - 1st December 1997 - John Allison. - This is interim code for testing by the visualization group and it will be tagged soon. You must update to the head of graphics_reps and visualization simulatanouesly. It coworks (I hope - it's difficult to be 100% sure about this since I have a few changes for other categories in the pipeline - see previous email) with: digits+hits digi-00-02-01 events+tracks event-00-02-01 geometry HEAD global global-00-02-01 intercoms intercoms-00-02-01 interfaces interfaces-00-02-01 particle+matter piim-00-02-01 run run-00-02-01 track track-00-02-01 tracking tracking-00-02-01 - Addition of: visualization/GNUmakefile.transition_to_G4VIS_BUILD visualization/GNUmakefile.transition_to_G4VIS_USE visualization/GNUmakefile.vis_cppflags_for_G4VIS_USE to turn the existing environment variables into the to-be-adopted G4VIS_... variables - see visualization/test/README. - Consequent changes to other visualization GNUmakefiles. - New way of instantiating graphics systems: Set the appropriate environment variables and include and compile G4VisRegisterGraphicsSystems.icc in your main(): ... #include G4VisRegisterGraphicsSystems.icc ... main() { ... - Added G4VisFeaturesOfXXX files which simple return a G4String. (Guy, Jeff, would you like to join this scheme?) - Added commands /vis~/delete/scene and /vis~/delete/view. - Added /vis~/show/view to test19.odb. vis-00-02-01 to vis-00-02-05a not logged!!! vis-00-01-02 13th July 1997 John Allison - Consolidation of previous tag. vis-00-01-01 8th June 1997 John Allison - First systematic tag. - G4Ray introduced.