Files
geant4/source/visualization/OpenInventor/History
T
2025-12-05 08:54:02 +01:00

1028 lines
43 KiB
Plaintext

# Category openinventor History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2025-10-01 John Allison (openinventor-V11-03-03)
- G4OpenInventorViewer.cc:
- CompareForKernelVisit():
- Include dotsSize and dotsSmooth for decision on kernel visit.
## 2025-03-06 John Allison (openinventor-V11-03-02)
- G4OpenInventorViewer:
- Implement CompareForTransientsRedraw().
- Take advantage of ProcessTransients(), which reconstructs that part of
the graphical database for transient objects, e.g., trajectories,
without reconstructing the "permanent" (run-duration) objects, e.g.,
the detector. In other words, something short of a complete "kernel
visit". For example, if the time window changes.
- Maximises the efficiency of the recently implemented "generic" time
windowing.
## 2025-02-13 John Allison (openinventor-V11-03-01)
- G4OpenInventorViewer.cc: CompareForKernelVisit:
- Cause kernel visit if viewer start/end time changes.
- This is to take advantage of the new generic time window - modeling-V11-03-04.
## 2025-01-06 John Allison (openinventor-V11-03-00)
- Co-works: visman-V11-03-00, interfaces-V11-03-00, modeling-V11-03-00,
opengl-V11-03-00, visQt3D-V11-03-00, vis_toolssg-V11-03-00, greps-V11-03-00.
- Re-instate the transparency slider (see lengthy explanation in management/History).
- G4OpenInventorViewer.cc:
- Initiate kernel visit if TransparencyByDepth or its options change.
## 2024-06-06 Guy Barrand (openinventor-V11-02-01)
- G4OpenInventorQtViewer: Qt6: reparent the G4OpenInventorQtExaminerViewer
in its own QWidget (and not in the global SoQt::getTopLevelWidget()).
It permits to restore a goood behaviour of multiple "/vis/open OIQt".
Handle a "destroyed signal/slot" on the parent QWidget so that
deleting a viewer deletes also the G4OpenInventorQtExaminerViewer.
Have the "addInTab" done in the Initialise() method. Clearly the
existing mechanism done on the G4OpenInventorQtExaminerViewer::afterRealizeHook()
does not work properly; we see that some "QWidget::show" does not trigger it!
(This is related to a problem in SoQt itself).
Have what is done concerning scene graph in the afterRealizeHook()
done now in some G4OpenInventorQtExaminerViewer::setupSceneGraph(), and call
this in the Initialise() method.
Avoid to do an examiner viewer "move/resize" in the Initialise() method,
it confuses SoQt and we have strange widget rendering behaviour;
then we let the QTabWidget and SoQt decide of the "move/resize".
With the upper modifications we have a good behaviour when creating/deleting
multiple viewers.
- G4OpenInventorQtExaminerViewer: Qt6: then avoid the usage of the afterRealizeHook() logic
and have a setupSceneGraph() method called from the G4OpenInventorQtViewer::Intialise().
- G4OpenInventorQtExaminerViewer: Qt6: avoid to map at startup the "Bookmark AuxWindow dialog",
it is cumbersome; but have this done when asking to create a new bookmark from the
dedicated "app button" of each viewer. Moreover, like that, it permits to map again
the dialog in case someone closed it with the mouse.
- G4OpenInventorQtExaminerViewer: Qt6: enforce, even on macOS, each viewer QMenuBar triggered
from a new "app button" of each viewer. The today logic, especially on macOS, is not adapted
to the case of multiple viewers. Then have the QMenuBar on an "app button" and not as parent
of the examiner viewer "getRenderAreaWidget". Like that it let free the full area of the render area.
It works nicely on all platforms. (In fact with the last SoQt working on Qt6, parenting on the
render area does not work at all on Linux and Windows).
- G4OpenInventorQtExaminerViewer: Qt6: have the "detached logic" in a standalone QDialog.
Have the title window reflecting the name of the viewer. Have that "closing" induces "destroying",
else if closing with the mouse, we have a dandling hidden viewer with no way to map it back.
(I did not find a multiplatform way to get rid of the close button on this detached window).
- G4OpenInventorQtExaminerViewer: Qt6: have "curViewPtName", "viewPtData/viewPtName" on an std::string.
Having them on "char*" appears to be very crashy. Protect "viewPtIdx" to be sure it
is in the range of the viewPtList std::vector.
- G4OpenInventorQtExaminerViewer: Qt6 : in case of MT, I put the "viewer->newEvents = true;" done
on "EndOfRun" instead of "EndOfEvent" since the HookEventProcState (a G4VStateDependent)
is not called anymore from the master thread in case of MT. This permits to have the
"set default fly path" done anyway. Note that multiple "/run/beamOn" done within multiple viewers
looks ok with MT.
- G4OpenInventorQtExaminerViewer: Qt6 : remove unsued methods, fields.
## 2024-01-11 Ben Morgan (openinventor-V11-02-00)
- Make headers of implementation details private.
## 2023-09-05 Ben Morgan (openinventor-V11-01-10)
- Set AUTOMOC property on module when Qt used.
## 2023-08-18 John Allison (openinventor-V11-01-09)
- G4OpenInventor: fix IsUISessionCompatible.
- An OI driver is not appropriate for a batch session.
- This is a fix to a mistaker in the update openinventor-V11-01-07.
- No longer needs G4UIQt.hh - removed.
## 2023-08-18 Gabriele Cosmo (openinventor-V11-01-08)
- G4OpenInventor: added missing inclusion of G4UIQt.hh header.
## 2023-08-14 John Allison (openinventor-V11-01-07)
- G4OpenInventor: simplify IsUISessionCompatible.
- Exploit new method, G4UImanager::GetBaseSession (intercoms-V11-01-07).
## 2023-07-03 Ben Morgan (openinventor-V11-01-06)
- Address Coverity reports on uninitialized variables and memory leaks.
- Reports 98819, 104820, 104827-104830, 104832, 104834-104837, 104840, 104842-104844,
104846, 104848, 104850, 104851, 104855, 104857-104860.
## 2023-04-27 Ben Morgan (openinventor-V11-01-05)
- Support compilation against Qt5 and Qt6.
## 2023-04-14 John Allison (openinventor-V11-01-04)
- Co-working: visman-V11-01-04, greps-V11-01-03, interfaces-V11-01-11,
opengl-V11-01-06, vis_toolssg-V11-01-05.
- New Scene Tree Phase 2 - first implementation of a no-frills GUI-side
- See visualization/management/History for full description.
- Revert earlier changes for the new scene tree.
- After the introduction of virtual G4VInteractiveSession::UpdateSceneTree
they are no loner necessary.
## 2023-04-02 Ben Morgan (openinventor-V11-01-03)
- No longer link to QtPrintSupport, which is not used in the toolkit.
## 2023-03-28 John Allison (openinventor-V11-01-02)
- Add code for scene tree.
- G4OpenInventorViewer:
- Call UpdateGUISceneTree in DrawView.
- G4OpenInventorQtExaminerViewer:
- Add GetUIQt.
- G4OpenInventorQtViewer:
- Implement virtual void UpdateGUISceneTree() {
- if (fUIQt) fUIQt->UpdateSceneTree(fSceneTree);
## 2023-03-22 Ben Morgan (openinventor-V11-01-01)
- Export public compile definitions to indicate availablity of specific drivers. Moves to
"use on link" model.
## 2023-01-30 Ben Morgan (openinventor-V11-01-00)
- Link to new G4UIcore/UIimplementation modules in place of former G4UIbasic/UIcommon
## 2022-11-25 Gabriele Cosmo (openinventor-V11-00-18)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.
## 2022-11-06 John Allison (openinventor-V11-00-17)
- Eliminate G4cerr and introduce G4warn.
- `#define G4warn G4cout`
- The above is temporary until a genuine G4warn output stream is
implemented.
- Change G4cerr to G4warn in all cases.
- In all except the Xt files, which, I understand are scheduled for
removal, change G4cout to G4warn in those cases where it is clearly
an error report or a warning.
## 2022-10-28 John Allison (openinventor-V11-00-16)
- Request kernel visit when cutaway mode changes:
- G4OpenInventorViewer.cc
## 2022-10-24 Frederick Jones (openinventor-V11-00-15)
- G4OpenInventorQtExaminerViewer.cc: For MacOS only, disabled the mouse
wheel event handler to fix the trackpad zoom direction issue.
- G4OpenInventorXtExtendedViewer.cc: replaced sprintf by snprintf.
## 2022-10-18 Gabriele Cosmo (openinventor-V11-00-14)
- Fixed compilation warning on gcc-12.
## 2022-10-14 Gabriele Cosmo (openinventor-V11-00-13)
- Replaced use of sprintf() and vsprintf() with snprintf() and vsnprintf()
respectively, to fix deprecation compilation warnings on macOS-13 SDK.
## 2022-10-07 Gabriele Cosmo (openinventor-V11-00-12)
- Fixed compilation warnings on Intel/icc compiler for deprecated conversion
of string literal to char* in G4OpenInventorQtExaminerViewer.
## 2022-09-14 John Allison (openinventor-V11-00-11)
- G4OpenInventorViewer.cc:
- Add check on special mesh rendering option in CompareForKernelVisit.
## 2022-09-03 John Allison (openinventor-V11-00-10)
- Implement special mesh rendering:
- Use base class `StandardSpecialMeshRendering`.
## 2022-08-31 Gabriele Cosmo (openinventor-V11-00-09)
- Fixed reported Coverity defects for potentially uninitialised variables.
## 2022-07-05 Gabriele Cosmo (openinventor-V11-00-08)
- Fixed compilation error for missing inclusion of G4Types.hh
in G4OpenInventorTransform3D.hh, induced by recent changes in "global"
category.
## 2022-05-03 Ben Morgan (openinventor-V11-00-07)
- Preliminary build support for Qt5 and Qt6
## 2022-04-21 Guy Barrand (openinventor-V11-00-06)
- Have G4OpenGLOpenInventorViewer and SoGL2PSAction not using visman/G4gl2ps (but still using the thread safe tools/gl2ps).
## 2022-04-11 Guy Barrand (openinventor-V11-00-05)
- Have G4OpenGLOpenInventorViewer and SoGL2PSAction use the thread safe tools/gl2ps.
## 2022-03-22 Ben Morgan (openinventor-V11-00-04)
- Use geant4_module_sources to add optional sources
## 2022-02-09 Gabriele Cosmo (openinventor-V11-00-03)
- `G4OpenInventorQtExaminerViewer`: Fixed compilation warning on Intel
compiler for shadowing data.
## 2022-01-28 Ben Morgan (openinventor-V11-00-02)
- Replace `geant4_global_library_target` with direct file inclusion and
call to `geant4_add_category` to define library build from source modules.
## 2021-12-11 John Allison (openinventor-V11-00-01)
- `G4OpenInventorViewer`: Remove misleading obsolete comment regarding
kernel visit in the case of a change in vis attribute modifiers.
## 2021-12-10 Ben Morgan (openinventor-V11-00-00)
- Change to new Markdown History format
---
# History entries prior to 11.0
12 November 2021 - Ben Morgan (openinventor-V10-07-06)
- Retire G4VIS_... preprocessor symbols in toolkit build, only required
by obsolete GNUmake system
8 November 2021 - Ben Morgan (openinventor-V10-07-05)
- Retire G4UI/G4INTY_... preprocessor symbols in toolkit build, only required
by obsolete GNUmake system
07 June 2021 John Allison (openinventor-v10-07-04)
- Requires greps-V10-07-07 (new method AddCompound (const G4Mesh&)).
- Requires modeling-V10-07-09 (new class G4Mesh).
- Requires visman-V10-07-10 (new default method and new commands).
- G4OpenInventorViewer.hh:
o Fix hidden function warning.
- G4OpenInventorViewer.cc:
o Force kernel visit if special mesh rendering parameters change.
28 May 2021 Ben Morgan (openinventor-V10-07-03)
- Migrate to modular CMake build
14 May 2021 Frederick Jones (openinventor-v10-07-02)
- Minor cleanup and tagged for MR
05 May 2021 Frederick Jones
- Code clean-up of OpenInventorQt classes
- G4OpenInventorViewer.cc,hh:
o Upgraded the group node sensor to process camera movements,
thus eliminating the need for the camera sensor. The node
sensor receives all camera notifications and is immune to
changes in the camera type.
- G4OpenInventorQtExaminerViewer:
o Added event handler for mouse wheel to fix the non-intuitive
behavior. Mouse-wheel-forward now zooms/dollys in.
o Added viewer button to enable the "axis cross" (3d axes)
feedback mechanism.
30 January 2021 Frederick Jones
- G4OpenInventorQtExaminerViewer
o For tabbed viewer in UIQt, added a Detach button to
move the viewer to its own dedicated and resizable
window on the desktop.
06 January 2021 Frederick Jones (openinventor-v10-07-01)
- G4OpenInventorQtViewer, G4OpenInventorQtExaminerViewer
o Under UIQt: viewer fails (root node is null) if
/vis/open/OI command is entered. Suspected a timing
problem and moved uiQt->addTabWidget() from G4OIQtViewer
to G4OIQtExaminerviewer::afterRealizeHook().
08 December 2020 Frederick Jones
- G4OpenInventorQtViewer.hh,cc:
o Fixed the uiQt->addTabWidget() call with correct arguments
so that tabbed viewer opens correctly.
o For UIQt case suppressed the viewer window titling which was
changing the UI window title.
22 October 2020 John Allison
- Some changes to instantiation and initialisation.
o G4OpenInventorQtViewer now opens in a tab with correct name.
o The main window name is left unchanged (it has same name as executable).
o But the G4OpenInventorQtExaminerViewer still opens in a detached window.
20 October 2020 Frederick Jones (openinventor-v10-06-11)
- Completed all the planned features of the OIQt viewer.
- This Qt based viewer implements all the functionality
of the older Xt/Xm based OIXE viewer and is ready to
be used as its replacement.
18 September 2020 John Allison (openinventor-V10-06-10)
- Part of vis-V10-06-07.
- G4OpenInventorViewer.cc:
o CompareForKernelVisit; Force kernel visit if global parameters change.
. GlobalMarkerScale and GlobalLineWidthScale.
07 September 2020 Gabriele Cosmo (openinventor-V10-06-09)
- Corrected condition for inclusion of GL headers in SbGL.h.
28 August 2020 Ben Morgan (openinventor-V10-06-08)
- Ensure use of XQuartz/System GL on macOS with SoXt/SoQt
respectively.
01 June 2020 Ben Morgan (openinventor-V10-06-07)
- Use CMake AUTOMOC to automatically generate and compile Moc
sources
25 May 2020 Gabriele Cosmo (openinventor-V10-06-06)
- Corrected GNUmakefile after introduction of dependency on G4UIQt.
21 May 2020 Frederick Jones and John Allison (openinventor-V10-06-05)
- Corrections to OIQT viewer and changes for use with Qt UI.
30 April 2020 Gabriele Cosmo (openinventor-V10-06-04)
- Fixed compilation warnings for unused argument/variable in
G4OpenInventorQtExaminerViewer and G4OpenInventorQt respectively.
22 April 2020 Frederick Jones (openinventor-V10-06-03)
- sources.cmake: Configuration for OIQT Vis driver which is
orthogonal to OIX and OIXE drivers.
16 April 2020 Ben Morgan (openinventor-V10-06-02)
- Remove Qt4 support
22 January 2020 Ben Morgan (openinventor-V10-06-01)
- Add include paths to Inventor et al to usage requirements on G4OpenInventor
Inventor does not yet support imported targets, and paths added by
include_directories are now explicitly removed.
Fixes Bugzilla 2215
12 December 2019 Ben Morgan (openinventor-V10-06-00)
- Cleanup CMake build, removing obsolete granular library option and
explicit include_directories.
23rd October 2019 Ben Morgan (openinventor-V10-05-07)
- Remove inclusion of QT_USE_FILE from CMake scripts.
All usage is now through the qtX_ macros and imported targets
14 June 2019 Gabriele Cosmo (openinventor-V10-05-06)
- Fixed compilation error in G4OpenInventorViewer::CompareForKernelVisit()
for typo introduced in previous tag...
13 June 2019 John Allison (openinventor-V10-05-05)
- Part of vis-V10-05-20.
- Test number of cloud points for kernel visit.
10 June 2019 John Allison (openinventor-V10-05-04)
- Part of vis-V10-05-19.
- G4OpenInventorXtExaminerViewer.cc and wheelmouse.cc:
Add #ifdef G4VIS_BUILD_OIX_DRIVER
16 May 2019 Gabriele Cosmo (openinventor-V10-05-03)
- Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
of name, apparently not allowed in OpenInventor.
18 March 2019 Gabriele Cosmo (openinventor-V10-05-02)
- Corrected typo in comments.
12 March 2019 John Allison (openinventor-V10-05-01)
- Fix compiler warnings about new cloud style.
Note: this does not yet mean that OI can handle cloud style. In fact
I think it will render in wireframe if cloud is selected.
11 March 2019 Gabriele Cosmo (openinventor-V10-05-00)
- Fixed typos in printouts in SbPainterPS.
22 August 2018 Gabriele Cosmo (openinventor-V10-04-08)
- sources.cmake: make OIQT driver installation optional when QT is
selected for CMake configuration (SoQt library is not mandatory
for Inventor). Requires introduction of GEANT4_USE_INVENTOR_QT flag
in main CMake module of Geant4 for optional build associated to Qt.
Corrected paths for Moc sources and added INVENTOR_SOQT_LIBRARY
to link list.
20 August 2018 John Allison (openinventor-V10-04-07)
- sources.cmake: Fix spelling mistake.
20 August 2018 John Allison (openinventor-V10-04-06)
- sources.cmake: Protected Qt files with if(GEANT4_USE_QT).
19 August 2018 Frederick Jones
- Added missing G4VIS_BUILD_OIQT_DRIVER to G4OpenInventorQt.hh
and G4OpenInventorQtExaminerViewer.hh.
17 August 2018 John Allison
- G4OpenInventorQtViewer constructor: Initialise fViewer to keep Coverity happy.
11 August 2018 John Allison (openinventor-V10-04-05)
- Consolidate Fred's updates.
- Update sources.cmake for CDash.
15 June 2018 Fred Jones (openinventor-V10-04-03)
- Fixed compilation warnings for casts on gcc-8.1.
28 May 2018 Gabriele Cosmo (openinventor-V10-04-02)
- Fixed compilation error in SoGL2PSAction, induced after last changes in
visualization.
26 April 2018 John Allison (openinventor-V10-04-01)
- Fix compilation errors.
25 April 2018 John Allison (openinventor-V10-04-00)
- G4OpenInventorViewer::CompareForKernelVisit:
o Implement comparison for "colour by density".
13 January 2017 Frederick Jones
- G4OpenInventorXtExaminerViewer:
In lookAtSceneElementCB disabled default height setting for
ortho camera prior to moveCamera().
In moveCamera removed unnecessary distance calculation
for ortho camera and fixed incorrect camera position
setting to preserve the focal distance.
Restored focal distance setting to maintain correct
target point (center of rotation) for perspective camera.
10 January 2017 Fred Jones (openinventor-V10-03-00)
- G4OpenInventorXtExtendedViewer:
Added viewer button for Wireframe/Solid switching.
Added workaround to prevent empty second page in
PS and PDF output (due to superimposed scene).
01 June 2016 Fred Jones (openinventor-V10-02-03)
- G4OpenInventorXtExtendedViewer.hh:
Removed fPDFButton - not used. Fixes Coverity warning.
30 May 2016 John Allison (openinventor-V10-02-02)
- G4OpenInventorWin.cc: Fixed dispatching (Guy Barrand, Tom Roberts).
- G4OpenInventorXtViewer.cc, G4OpenInventorWinViewer.cc:
setTransparencyType(SoGLRenderAction::SORTED_OBJECT_ADD).
27 May 2016 Gabriele Cosmo (openinventor-V10-02-01)
- Fixed compilation warnings on MacOS for conversion to char* in
G4OpenInventorXtExtendedViewer and G4OpenInventorXtViewer sources.
22 Mar 2016 Gabriele Cosmo (openinventor-V10-02-00)
- Corrected delete statement in G4OpenInventorXtExaminerViewer::sortBookmarksCB().
18 Dec 2015 Frederick Jones
- G4OpenInventorXtExaminerViewer:
o Designed new icons (XPM) for the "Extended Pick Mode" and
"Pick Reference Trajectory" buttons.
o Modified the mouse-over-trajectory output to make it
more clear.
o Modifications for Coverity fault 48023 "Resource leak"
o Modifications for Coverity fault 48027 "Freed internal location"
o Improved diagnostics for Bookmark file handling.
o New approach for determining distance along the reference
path, using element centers instead of bounding boxes.
Solves problems with spurious bounding box warnings and
incorrect distance values.
- G4OpenInventorXtExtended & G4OpenInventorXtExtendedViewer
o Suppressed some unwanted diagnostic output.
30th July 2015 John Allison (openinventor-V10-01-02)
- G4OpenInventor:
o Added IsUISessionCompatible.
o The OI graphics system is not compatible with a batch job.
2nd February 2015 Gabriele Cosmo (openinventor-V10-01-01)
- Fix to sources.cmake script to include missing dependency on external library.
18 Dec 2014 Frederick Jones
- G4OpenInventorViewer & G4OpenInventorXtExtendedViewer:
o Added viewer menu button and methods for PDF output
5th December 2014 Gabriele Cosmo (openinventor-V10-01-00)
- Corrected sources.cmake to include missing files:
G4OpenInventorXtExaminerViewerMessenger.hh
G4OpenInventorXtExaminerViewerMessenger.cc
13th May 2014 John Allison (openinventor-V10-00-01)
- Coworks: DAWN-V10-00-02, visman-V10-00-08, opengl-V10-00-05.
- Moved G4VisFeaturesOfOpenInventor from management sub-category.
03 Feb 2014 Gabriele Cosmo (openinventor-V10-00-00)
- Fixed shadowing compilation warnings in G4OpenInventorXtExaminerViewer.cc.
21 Dec 2013 Frederick Jones
- G4OpenInventorXtExaminerViewer.cc:
o Adjusted dimensions of viewer aux window.
o Implemented look-ahead for better tracking of trajectory animation.
o Implemented mouse-over readout for trajectories.
29th May 2013 John Allison (openinventor-V09-06-04)
- SoCounterAction.cc:
o Completed initialisation list in constructor (Coverity warning).
09 April 2013 Frederick Jones
- G4OpenInventorXtExaminerViewer.hh:
o Removed unneeded assignment operator in struct sceneElement.
(Coverity warning)
15th March 2013 John Allison (openinventor-V09-06-03)
- G4OpenInventorXtExaminerViewer.cc:
o Changed strlcpy back to strncpy. Fixes SLC5 compilation error.
(Can't remember why I changed to strlcopy in the first place.)
24th February 2013 John Allison (openinventor-V09-06-02)
- SbPainterPS:
o Removed unused fields as warned by new clang compiler.
29th January 2013 John Allison (openinventor-V09-06-01)
- More Coverity fixes and un-doing of some previous ones.
8th January 2013 John Allison
- G4OpenInventorXtExaminerViewer.cc, G4OpenInventorXtExtendedViewer.cc,
G4OpenInventorXtViewer.cc, SbPainterPS.cc:
o Fixes some Coverity warnings.
2nd December 2012 John Allison (openinventor-V09-06-00)
- Remove NURBS.
17th November 2012 John Allison (openinventor-V09-05-17)
- G4OpenInventorXtExaminerViewer:
o Reverted to openinventor-V09-05-14 (except small fix for compiler
warning about uninitialised quantity).
- wheelmouse.cc:
o Fixed compiler warning about un-used parameter.
- Note: The fix in sources.cmake (openinventor-V09-05-16) is kept for
possible future development.
5th November 2012 John Allison (openinventor-V09-05-16)
- sources.cmake: Added ${X11_Xpm_LIB} for createPixmapFromXpm on Mac.
02nd November 2012 Frederick Jones (openinventor-V09-05-15)
- G4OpenInventorXtExaminerViewer:
o Removed dependency on SoXtCursor.h
This is a Coin3d extension which is incompatible with
SGI Open Inventor and with old versions of Coin3d.
o Removed dependency on SoXtInternal.h
Moved code for createPixmapFromXpm() into the class.
o Fixed compiler warnings for unused/uninitialized variables.
31st October 2012 John Allison (openinventor-V09-05-14)
- History:
o Corrected date!!!
31st October 2012 John Allison (openinventor-V09-05-13)
- G4OpenInventorXtExaminerViewer.cc/hh:
o Added License and Disclaimer.
30th October 2012 Frederick Jones
- G4OpenInventorXtExaminerViewer:
o Fixed shadowed variables (compiler warnings)
o Corrected unrecoverable zoom-out when switching
to Perspective camera.
o Fixed incomplete mouse-over position readout.
18th October 2012 Frederick Jones
- G4OpenInventorXtExtendedViewer:
o Removed inheritance from G4OpenInventorXtViewer.
o Now inherits from G4OpenInventorViewer.
17th October 2012 John Allison (openinventor-V09-05-12)
- G4OpenInventorXtExaminerViewer.cc:
o Disabled initial auto setting to first viewpoint (FWJ).
- G4OpenInventorXtExtendedViewer
o Bug fix. Inherit all except G4OpenInventorXtExaminerViewer* fViewer.
- G4OpenInventorXtViewer:
o Bug fix. Was not fully reverted. None of Fred's stuff remains;
it's now only in G4OpenInventorXtExtendedViewer.
17th October 2012 John Allison (openinventor-V09-05-11)
- Encapsulated Fred's code in a new driver, G4OpenInventorXtExtended
(OIXE).
16 October 2012 Frederick Jones (openinventor-V09-05-10)
- G4OpenInventorXtExaminerViewer
o New class implements functional extensions to the
Xt-based viewer. A plug-in replacement for
SoXtExaminerViewer (the standard viewer provided
with Coin3d).
- G4OpenInventorXtViewer
o Instantiates G4OpenInventorXtExaminerViewer instead
of SoXtExaminerViewer. Added some additional menu items.
7th October 2012 John Allison (openinventor-V09-05-09)
- G4OpenInventorViewer::CompareForKernelVisit:
o Added test of VisAttributesModifiers to list checked for kernel visit.
25th September 2012 John Allison (openinventor-V09-05-08)
- G4OpenInventorSceneHandler:
o Pick up default vis attributes if primitive has none.
13th September 2012 John Allison (openinventor-V09-05-07)
- G4OpenInventorSceneHandler: Fixed text positioning.
8th August 2012 John Allison (openinventor-V09-05-06)
- G4OpenInventorSceneHandler.cc:
o Intercepted 2D primitives - JustWarning printed.
3rd July 2012 John Allison (openinventor-V09-05-05)
- Fixed some Coverity warnings.
8th June 2012 John Allison (openinventor-V09-05-04)
- Shadow clean.
23rd May 2012 John Allison (openinventor-V09-05-03)
- Health Check 2012: Migrated (see management/History):
o G4OpenInventorSceneHandler::ClearStore/ClearTransientStore:
. Removed call to G4VSceneHandler::ClearStore/ClearTransientStore.
10th April 2012 Pere Mato (openinventor-V09-05-02)
- G4OOpenInventorWinViewer.cc: Make it work for Win64
replacing [Get|Set]WindowLong() by [Get|Set]WindowLongPtr() and GWL_USERDATA by GWLP_USERDATA
28th March 2012 John Alliso (openinventor-V09-05-01)
- Migrated to G4VScenehandler::fObjectTransformation.
3rd January 2012 John Allison (openinventor-V09-05-00)
- G4OpeninventorX//Xt/Win/Win32:
o Removed #ifdef G4VIS... protection from header files so that they
can be used for a possible dynamic library. Of course, the
protection remains on the implementation files.
30th November 2011 Ben Morgan (openinventor-V09-04-04)
- sources.cmake : Added explicit inclusion and linking of X11 and Motif
libraries. Appears needed so that OpenGL X11/XM and OpenInventor can
co-exist.
30th November 2011 Ben Morgan (openinventor-V09-04-03)
- sources.cmake : Added inclusion and linking to Inventor base library and
OpenGL. Needed on Mac to correctly find X11 GL.
8th November 2011 Ben Morgan (openinventor-V09-04-02)
- source.cmake [BUGFIX #1196]: Added support for CMake build of OpenInventor
driver (NB requires cotag cmake-V09-04-32).
27th December 2010 Gabriele Cosmo (openinventor-V09-04-01)
- Fixed compilation error in SbPainterPS.cc introduced in previous tag.
27th December 2010 John Allison (openinventor-V09-04-00)
- Tagged.
11th December 2010 John Allison
- Fixed some Coverity warnings.
10th November 2010 John Allison (openinventor-V09-03-02)
- G4OpenInventor*Viewer.cc:
o Protected output with G4VisManager::confirmations.
6th October 2010 John Allison (openinventor-V09-03-01)
- G4OpenInventorViewer.cc:
o Added default colour and default text colour to list of parameters
that trigger a kernel visit.
26th May 2010 John Allison (openinventor-V09-03-00)
- G4OpenInventorWin.cc, G4OpenInventorXt.cc: Protection against
repeated initialisation.
17th November 2009 John Allison (openinventor-V09-02-03)
- Tagged for vis tag.
17th November 2009 Gabriele Cosmo
- Fixed GNUmakefile. Fixes build problem with gl2ps on Windows.
29 September 2009 John Allison (openinventor-V09-02-02)
- Tagged.
18 August 2009 Laurent Garnier
- G4OpenInventorXt/WinViewer : Fix a wrong initialization introduce by the
new way of handling window size hints (January 2009)
24 July 2009, Laurent Garnier
- Remove Geant4_gl2ps.h gl2ps.cc gl2ps.h which were copied in external/gl2ps
in february but forgot to remove them from OpenInventor
18 February 2009, Laurent Garnier (openinventor-V09-02-01)
- Bug fix in gl2ps drawing
16 February 2009, Laurent Garnier
- Modifications in GNUMakefile for gl2ps.
- SoGL2PSAction Modified.
- G4OpenInventorViewer.cc add a protection on file writing in gl2ps
30th April 2008 John Allison (openinventor-V09-01-01)
- Fixes more gcc-4.3.0 compiler warnings.
4th April 2008 John Allison (openinventor-V09-01-00)
- Fixes most gcc-4.3.0 compiler warnings.
23rd October 2007 Gabriele Cosmo
- Initialise local vectors in SoPolyhedron.cc to fix compilation warnings
on gcc-4.2.2 for use of non-initialised values.
3rd April 2007 John Allison (openinventor-V08-02-02 - needs visman-V08-02-03)
- Introduced picking control. Default is "true" for Open Inventor.
25th March 2007 John Allison (openinventor-V08-02-01)
- G4OpenInventorSceneHandler: Introduced AddProperties. Rationalises.
- G4OpenInventorViewer.cc: Added scale factor to list of changes
requiring kernel visit.
5th January 2007 John Allison (openinventor-V08-02-00)
- Moved LoadAtts to vis management.
5th November 2006 John Allison (openinventor-V08-01-04)
- Protected against zero material pointer.
2nd November 2006 John Allison (openinventor-V08-01-03)
- Rationalised G4Att loading and extended picking to hits.
1st November 2006 John Allison (openinventor-V08-01-02)
- Follow changes to greps-V08-01-09: G4AttCheck/Holder rationalisation.
26th October 2006 John Allison (openinventor-V08-01-01)
- Added SoG4LineSet, SoG4MarkerSet and SoG4Polyhedron - classes extended to
include G4Atts (G4AttValues and G4AttDefs) for picking.
- G4OpenInventorSceneHandler.cc: Load lines, markers and polyhedron objects
with G4Atts.
- G4OpenInventorViewer.cc: print G4Atts on picking.
29th August 2006 John Allison (openinventor-V08-01-00)
- G4OpenInventorViewer::CompareForKernelVisit: Rationalisation. This
assumes use of generic clipping (sectioning, slicing, DCUT,
cutaway). If a decision is made to implement locally, this will
need changing. See G4OpenGLViewer::SetView,
G4OpenGLStoredViewer.cc::CompareForKernelVisit and
G4OpenGLStoredSceneHander::CreateSection/CutawayPolyhedron.
4th June 2006 Joseph Perl (openinventor-V08-00-05)
- This tag includes all the changes below.
2 June 2006 Guy Barrand :
- G4OpenInvenot, G4OpenInvenotXt, G4OpenInvenotWin : have an Initialize
method in order to init Xt and Inventor only is really used
(when creating a viewer or a scene handler).
19th April 2006 Gabriele Cosmo (openinventor-V08-00-04)
- Use cmath instead of math.h.
28th March John Allison (openinventor-V08-00-03)
- Cosmetic.
21st March John Allison (openinventor-V08-00-02)
- Rationalised G4OpenInventorSceneHandler:
o Introduced GeneratePrerequisites.
o Uses dynamic_cast<G4PhysicalVolumeModel*>(fpModel) instead
of fpCurrentPV, etc.
o Uses G4VSceneHandler utility functions,
GetApplicableVisAttributes, GetColour, GetTextColour,
GetMarkerSize, GetDrawingStyle, GetAuxEdgeVisible, where possible.
o Revision 1.43: messy version with original code commented out.
o Revision 1.44 (.cc) and 1.28 (.hh) (tagged): tidied versions.
- Investigated G4OpenInventorViewer:
o Changed: DrawDetector and UpdateScene. No noticeable effect!
20th March John Allison
- G4OpenInventorSceneHandler:
o Bug fix for transient solids.
o Replaced some code in AddPrimitive(const G4Polymarker&) by GetMarkerSize.
o Attempt to finish AddPrimitive (const G4Text&) - still draws at origin.
30th January 2006 John Allison (openinventor-V08-00-01)
- Implemented drawn volume path. Needs modeling-V08-00-01. Scene
graph now corresponds to drawn, i.e., non-culled geometry.
Inability to find (drawn) mothers shouldn't happen now, and it
triggers an error message.
26th January 2006 John Allison (openinventor-V08-00-00)
- Coworks with visman-V08-00-04 (removed fModified).
- Removed references to fModified.
20th December 2005 Guy Barrand
- SoAlternateRepAction.cc : add the #ifdef G4VIS_BUILD_OI_DRIVER.
12th December 2005 John Allison
- G4OpenInventorSceneHandler.cc: Pick up colour and transformation
correctly for non-physical-volume solids.
o G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron&):
Added code to pick up colour if LV and PV pointers are zero.
o G4OpenInventorSceneHandler::BeginPrimitives: Pick up
transformation if LV and PV pointers are zero.
o G4OpenInventorSceneHandler::PreAddSolid: Added code to pick up
colour if LV and PV pointers are zero and removed return statement
so that transformation is picked up too.
30th November 2005 Gabriele Cosmo (openinventor-V07-01-04)
- Trivial fix to SoPolyhedron for support of CLHEP-2.0.X series.
15th November 2005 Guy Barrand (openinventor-V07-01-03)
- G4OpenInventorXtViewer : handle fVP.GetXGeometryString().
- G4OpenInventorSceneHandler : handle global scale view parameter.
Done in BeginPrimitives and PreAddSolid by doing a
SbMatrix::multRight(sbScale) to the incoming global G4Transform3D matrix.
- G4OpenInventor[Xt,Win]Viewer : handle set background. Done
in the overloaded SetView method.
17th October 2005 Guy Barrand
- G4OpenInventorViewer::G4OpenInventorViewer : read a g4view.iv
file at creating of a view. If found, the scene graph in g4view.iv
if added at head of the overall scene graph. This permits easy
out of band customization of the scene without having to touch
the code.
- Modification in order to save geometry in an Inventor file.
Addition of an "alternateRep" for the SoPolyhedron (see Inventor doc).
Addition of an "alternateRep" for the SoDetectorTreeKit.
Addition of the SoAlternaterRepAction to traverse a scene graph
and construct / delete the alternate reps.
Modification of G4OpenInventorViewer::WriteInventor to write the
alternateRep of the SoPolyhedron and then save geometry in a
.iv file by using Inventor standard lib. In particular the produced
.iv files are readable by the ivview standard tool.
2nd September 2005 John Allison (openinventor-V07-01-02)
- Corrected treatment of edgeflags.
1st August 2005 Gabriele Cosmo (openinventor-V07-01-01)
- Fixed compilation errors and warnings on gcc-4.0.0. Modified files:
SoDetectorTreeKit.cc, gl2ps[.h.cc].
20th July 2005 John Allison (openinventor-V07-01-00)
- Changed Geant4_SoPolyhedron to construct from G4Polyhedron rather
than its base class, HepPolyhedron, for possible future
developments. Functionality unchanged.
2nd June 2005 John Allison (openinventor-V07-00-02)
- Changed char* to const char* in gl2psMsg.
27th May 2005 John Allison (openinventor-V07-00-01)
- Implemented marker sizes.
25th May 2005 Guy Barrand (openinventor-V07-00-00)
- G4OpenInventorTransform3D.cc : use the CLHEP::Transform3D::operator(i,j)
to initialize the m array in order to be compatible with new versions
of CLHEP.
19th March 2005 Guy Barrand
- SoCounterAction.cc : remove extra ';' at end of SO_ACTION_SOURCE.
Code with ';;' does not compile with the "-pedantic" mode of g++-3.4.
26th November 2004 Guy Barrand (openinventor-V06-02-02)
- G4OpenInventorXtViewer, SoPolyhedron, SoCounterAction.h :
correct some warnings on g++-3.2.1 (reported by Tom Roberts).
25th November 2004 Guy Barrand
- G4OpenInventor[Viewer,SceneHandle] : handle aux edges.
- G4OpenInventorViewer : in SetSolid, etc... avoid to do a FinishView
that will do a viewAll that may displace the camera.
- G4OpenInventorViewer : put the camera under a group and put
a sensor (fGroupCameraSensor) on the group to detect that the viewer
changed the camera type.
- G4OpenInventor[Xt,Win]Viewer : GetCamera() to get camera of the viewer.
- G4OpenInventorViewer : delete fSoCameraSensor.
24th November 2004 John Allison
- Fixed SetView to respond to view parameters and CameraSensorCB to
provide view parameters. Target point not quite right. Only for
orthogonal view so far.
24th November 2004 Guy Barrand
- So*.cc : have #ifdef G4VIS_BUILD_OI_DRIVER instead of OIX_DRIVER !!!
- G4OpenInventor[Xt,Win]Viewer, SceneHandler : handle reduced wire frame
at the level of the view.
- SoPolyhedron : reducedWireFramw field.
23th November 2004 Guy Barrand
- So*.cc : have #ifdef G4VIS_BUILD_OIX_DRIVER.
22th November 2004 Guy Barrand
- G4OpenInventor[Xt,Win]Viewer : "Set preview", "Set preview and full"
menu items.
- G4OpenInventorViewer : count nodes and shapes.
- SoCounterAction : to count nodes.
- G4OpenInventorViewer : SetSolid, SetWireFrame : arrange to avoid a SetView
for the moment. It will move the camera ! Arrange to not clear the
transient store.
- G4OpenInventorViewer : commit commented SoNodeSensor on fSoCamera.
- G4OpenInventorXtViewer : have a help dialog.
- G4OpenInventorSceneHandler : delete the SbMatrix returned
by G4OpenInventorTransform3D::GetSbMatrix. Not done before !
- G4OpenInventorTransform3D : use SbMatrix instead of SoSFMatrix.
- G4OpenInventorSceneHandler : cache SoResetTransform.
- SoStyleCache : destructor protected.
- G4OpenInventor[Xt,Win]Viewer : Help pulldown menu.
- G4OpenInventorViewer : in "Scene graph stats", count triangles,lines,points.
- G4OpenInventorViewer : set auto refresh by default.
21th November 2004 Guy Barrand
- G4OpenInventor[Xt,Win]Viewer, SceneHandler : add a simple picking that
dumps picked SoNode address, type and name.
- G4OpenInventor[Xt,Win]Viewer : "Help controls" menu item.
- G4OpenInventorSceneHandler::PreAddThis : comment the "ERROR leaf protocal"
message. Misleading to users.
19th November 2004 Guy Barrand
- G4OpenInventorSceneHandler::ClearStore: clear the fSeparatorMap.
18th November 2004 Guy Barrand
- G4OpenInventorSceneHandler::PreAddThis : handle viewer style.
- G4OpenInventorView : have an SoOrthographicCamera
and a first implementation of SetView.
- Removed redundant fLastVP from G4OpenInventorSceneHandler (JA).
17th November 2004 Guy Barrand
- G4OpenInventorSceneHandler : rm the AddThis(G4Box,....). We use
then only the generic AddPrimitive(G4Polyhedron). Much simpler.
15th November 2004 Guy Barrand
- G4OpenInventorViewer : //FIXME comment out on
f[Default]VP.SetCulling(false) by default. Not convinced that it is
the right thing to do.
- G4OpenInventorViewer : have f[Default]VP.SetCulling(false) by default.
- On viewer have "Erase detector, event" menuitems for Xt and Win.
- G4OpenInventorWinViewer : have it inheriting G4OpenInventorViewer.
- G4OpenInventorSceneHandler : WIN32 : correct some warnings.
14th November 2004 Guy Barrand
- G4OpenInventorSceneHandler.cc : handle transparency.
- SoImageWriter, SbPainter, SbPainterPS : material to produce pixmap PS.
- G4OpenInventorViewer : base class for Inventor viewers.
- Menuitem "Etc/Triangles" : to count rendered triangles.
- Menuitem "File/IV" : to write the scene in an inventor file.
14th November 2004 John Allison (openinventor-V06-02-01)
- Tag on branch openinventor-V06-02-01-branch.
- Consolidating the changes below, plus:
- forcing culling off by default;
- forcing solid mode;
so that the user:
- sees all of the requested geometry volume tree;
- can use pointer button and CTRL-left-click to uncover (SHIFT-left-click
to re-cover);
- can use the hand button and right-click to get wireframe.
- Removed G4OpenInventorSceneHandler::EndModeling (empty function).
12th November 2004 Guy Barrand
- G4OpenInventor.cc : initClass of Geant4_SoPolyhedron.
- G4OpenInventorWinViewer.cc : WM_COMMAND : filter only messages
from the window viewer menu.
- G4OpenInventorSceneHandler.cc : rm G4Polymarker::line handling.
11th November 2004 Guy Barrand
- Add SoPolyhedron that permits to visualize directly HepPolyhedron.
- G4OpenInventorSceneHandler::AddThis : uses the generic
SoPolyhedron. Modeling is wireFrame by default.
Solid modeling is used only in case visAtb.SetForceSolid(true).
- G4OpenInventorSceneHandler::PreAddThis : correct a flaw
in the non-leaf part ; in case mother not found in fSeparatorMap
the SoDetectorTreeKit were added nowhere ! This induced that
exaN03Vis5 displayed no gemetry.
- SoStyleCache : permit to cache commonly used colors, line styles and
light models.
- G4OpenInventorSceneHandler : use SoStyleCache to minimize number of nodes.
- End of the first world war.
- Death of Arrafat.
10th November 2004 Guy Barrand
- SoMarkerSet, SoGL2PSAction : corrections to work with SGI Inventor.
- gl2ps : gl2psPrintPostScriptPixmap : fix nbit=2,4 width truncation.
(On SoMarkerSet, the last column of pixmapswere missing ).
9th November 2004 Guy Barrand
- WIN32 : G4OpenInventorWinViewer : have a File pulldown menu
with an Escape button to quit secondary Windows event loops.
- Xt : G4OpenInventorXtViewer : in destructor comment (and //FIXME)
the "delete fViewer". With SGI, it hangs.
- Xt : Have a menubar and put escape button in the File pulldown menu.
- SoGL2PSAction, gl2ps : action to handle PostScript production with gl2ps.
- Xt : "PostScript" menu item.
- WIN32 : "PostScript" menu item.
8th November 2004 Guy Barrand
- WIN32 : Have HEPVis/SbGL.h to access GL.h properly on Windows.
Use by SoMarkerSet.cc.
- G4OpenInventor.cc : initialize SoMarkerSet.
- G4OpenInventorWinViewer : correct bad viewer look and feel.
7th November 2004 Guy Barrand
- Have SoMarkerSet.h, .cc in the repository.
- G4OpenInventorSceneHandler :
Have a AddPrimitive(G4Polymarker) using SoMarkerSet.
SoMarkerSet draws markers in the frame buffer. It is much
more performant than having SoSphere and SoCube for markers.
6th November 2004 Guy Barrand
- G4OpenInventorXtViewer : restore the escape button.
This button is put in the "app buttons" of the SoXtExaminerViewer.
(The "app buttons" are put in the left border of decoration).
It is ok with SGI-2.1.510 and recent SoXt of Coin,
21th July 2004 Guy Barrand (openinventor-V06-02-00)
- G4OpenInventorXtViewer : add include X11/Shell.h to have
XtNgeometry that may not come throught the includes of some
Inventor implementation.
08th April 2004 Guy Barrand (openinventor-V06-01-00)
- Bring in the repository the necessary HEPVis code. In fact few of HEPVis
is used in this G4 driver. Then HEPVis is no more needed.
Note that, to avoid clashes of G4/vis within experiments, the HEPVis
node are protected by some : #define Geant4_<node> <node>. Then, for
example, within the G4OpenInventor lib there are Geant4_SoBox, etc...
(and not SoBox,... that may clash with other HEPVis code in experiments).
- Have code to run on Windows.
- Split Viewer to have G4OpenInventorXtViewer and G4OpenInventorWinViewer.
- Split G4OpenInventor to have G4OpenInventorXt and G4OpenInventorWin.
Xt and Win (and not X and Win32 like in vis/OpenGL) to follow
the conventions found in the OpenInventor world.
29th October 2003 Cosmo Gabriele (openinventor-V05-02-00)
- Patch in G4OpenInventorSceneHandler in PreAddThis() to cope with changes
introduced in G4VPhysicalVolume in "geant4-05-02-ref-04", where pointer to
mother physical-volume was removed.
Separators map now refers to logical-volumes and is no longer built
iteratively for each call to the method as it was done in an attempt
implemented previously.
NOTE: requires more investigation and eventually a revision of the
adopted algorithm.
- Cleared usage of 'NULL' in favour of '0'.
4th October 2003 Cosmo Gabriele (vis-V05-02-01)
- Simplified GNUmakefile.
14th January 2003 John Allison (openinventor-V05-00-00)
- Removed vertex.transform (*fpObjectTransformation) from
G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron).
Symptom was that polyhedron objects were being transformed twice.
The transformation is stored in
G4OpenInventorSceneHandler::PreAddThis
...
G4OpenInventorTransform3D oiTran (objectTransformation);
SoSFMatrix* oiMat = oiTran.GetOIMatrix();
SoMatrixTransform* xform = new SoMatrixTransform;
xform->matrix.setValue(oiMat->getValue());
currentSeparator->addChild(new SoResetTransform);
currentSeparator->addChild(xform);
}
27th November 2002 John Allison (vis-V04-01-08)
- Improved algorithm of CompareForKernelVisit.
14th August 2001 John Allison (vis-V03-02-11)
- Improved KernelVisitDecision - but see note therein.