Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/ToolsSG/History

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 # Category vis_toolssg History
  2 
  3 See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
  4 which **must** added in reverse chronological order (newest at the top).
  5 It must **not** be used as a substitute for writing good git commit messages!
  6 
  7 -------------------------------------------------------------------------------
  8 
  9 ## 2024-06-21 Ben Morgan (vis_toolssg-V1-02-02)
 10 - Use runtime checks for MT mode.
 11 
 12 ## 2024-04-30 Ben Morgan (vis_toolssg-V11-02-01)
 13 - Replace TOOLSSG vis driver variables that are just synonyms for more
 14   fundamental config options (e.g. GEANT4_USE_QT) with the underlying
 15   variable.
 16 
 17 ## 2024-01-11 Ben Morgan (vis_toolssg-V11-02-00)
 18 - Make Freetype a private dependency
 19 
 20 ## 2023-09-05 Ben Morgan (vis_toolssg-V11-01-12)
 21 - Set AUTOMOC property on module when Qt used.
 22 
 23 ## 2023-08-14 John Allison (vis_toolssg-V11-01-11)
 24 - G4ToolsSGQtGLES, G4ToolsSGQtZB:
 25   - Simplify IsUISessionCompatible.
 26     - Exploit new method, G4UImanager::GetBaseSession (intercoms-V11-01-07).
 27 
 28 ## 2023-07-16 John Allison (vis_toolssg-V11-01-10)
 29 - G4ToolsSGViewer: Protect null scene pointer (in case user forgets to create a scene).
 30 
 31 ## 2023-07-12 Guy Barrand (vis_toolssg-V11-01-09)
 32 - G4ToolsSGQtViewer.[hh,cc] renamed G4ToolsSGQtGLESViewer.[hh,cc] for consistency with the file naming pattern G4ToolsSG<windowing><renderer><something> applied in other sub-drivers as in G4ToolsSGQtZBViewer.hh.
 33 - G4ToolsSGQtGLES.cc, sources.cmake: class name G4ToolsSGQtViewer changed to G4ToolsSGQtGLESViewer.
 34 
 35 ## 2023-06-04 John Allison (vis_toolssg-V11-01-08)
 36 - IsUISessionCompatible: Remove the function where not necessary and tidy.
 37 
 38 ## 2023-05-29 Guy Barrand (vis_toolssg-V11-01-07)
 39 - sources.cmake: declare the G4*ZB.hh, G4*ZB.cc files.
 40 - new ToolsSG Qt ZB sub-driver: new files: G4ToolsSGQtZB.hh, G4ToolsSGQtZB.cc, G4ToolsSGQtZBViewer.hh, G4ToolsSGQtZBViewer.cc.
 41 - new ToolsSG X11 sub-driver. New files: G4ToolsSGX11ZB.hh, G4ToolsSGX11ZB.cc.
 42 - new ToolsSG Xt sub-driver. New files: G4ToolsSGXtZB.hh, G4ToolsSGXtZB.cc.
 43 - new ToolsSG Windows sub-driver. New files: G4ToolsSGWindowsZB.hh, G4ToolsSGWindowsZB.cc.
 44 - sources.cmake: in if(GEANT4_USE_TOOLSSG_XT_GLES), PUBLIC G4VIS_USE_TOOLSSG_X11_GLES should be PUBLIC G4VIS_USE_TOOLSSG_XT_GLES.
 45 - src/G4ToolsSGQtGLES.cc, G4ToolsSGXtGLES.cc: avoid the "tools::argcv" logic by using the "get argcv" from G4Qt, G4Xt. This should fix a Coverity issue.
 46 
 47 ## 2023-04-27 Ben Morgan (vis_toolssg-V11-01-06)
 48 - Link to Qt6OpenGLWidgets library when using Qt6 to access QOpenGLWidget.
 49 
 50 ## 2023-04-14 John Allison (vis_toolssg-V11-01-05)
 51 - Co-working: visman-V11-01-04, greps-V11-01-03, interfaces-V11-01-11,
 52   opengl-V11-01-06, openinventor-V11-01-04.
 53 - New Scene Tree Phase 2 - first implementation of a no-frills GUI-side
 54   - See visualization/management/History for full description.
 55 - Revert earlier changes for the new scene tree.
 56   - After the introduction of virtual G4VInteractiveSession::UpdateSceneTree
 57     they are no loner necessary.
 58 
 59 ## 2023-04-02 Ben Morgan (vis_toolssg-V11-01-04)
 60 - No longer link to QtPrintSupport, which is not used in the toolkit.
 61 
 62 ## 2023-03-28 John Allison (vis_toolssg-V11-01-03)
 63 - G4ToolsSGViewer.hh:
 64   -  Call UpdateGUISceneTree() if (kernelVisitWasNeeded).
 65 - G4ToolsSGQtViewer.hh:
 66   - uiQt becomes fUIQt, i.e., a data member.
 67   - Implement virtual void UpdateGUISceneTree() {
 68     - if (fUIQt) fUIQt->UpdateSceneTree(fSceneTree);
 69 
 70 ## 2023-03-22 Ben Morgan (vis_toolssg-V11-01-02)
 71 - Export public compile definitions to indicate availablity of specific drivers. Moves to
 72   "use on link" model.
 73 
 74 ## 2023-02-06 Ben Morgan (vis_toolssg-V11-01-01)
 75 - Isolate private headers and update dependencies
 76 
 77 ## 2023-01-30 Ben Morgan (vis_toolssg-V11-01-00)
 78 - Link to new G4UIcore/UIimplementation modules in place of former G4UIbasic/UIcommon
 79 
 80 ## 2022-11-25 Gabriele Cosmo (vis_toolssg-V11-00-15)
 81 - Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.
 82 
 83 ## 2022-10-28 John Allison (vis_toolssg-V11-00-14)
 84 - Request kernel visit when cutaway mode changes:
 85   - G4ToolsSGViewer.hh
 86 
 87 ## 2022-10-13 Guy Barrand (vis_toolssg-V11-00-13)
 88 - new offscreen sub-driver.
 89 - new files: include/G4ToolsSGOffscreen.hh, include/G4ToolsSGOffscreenViewer.hh and src/G4ToolsSGOffscreen.cc.
 90 - sources.cmake, GNUmakefile: G4ToolsSGOffscreen .hh and .cc files.
 91 - G4ToolsSGViewer.hh: handle ambient lightening.
 92 - G4ToolsSGViewer.hh: for "write paper", handle zb_png, zb_jpeg formats.
 93 - G4ToolsSGViewer.hh: correct fSGViewer->set_clear_color(). The passed "green" was... blue.
 94 
 95 ## 2022-09-06 Ben Morgan (vis_toolssg-V11-00-12)
 96 - Address dependency inconsistencies reported by geant4_module_check
 97 
 98 ## 2022-05-18 Guy Barrand (vis_toolssg-V11-00-11)
 99 - have "toolx" namespace for g4tools code related to "externals", then:
100   - tools::[Qt,Windows,X11,Xt,sg::text_freetype] become toolx::[Qt,Windows,X11,Xt,sg::text_freetype].
101   - and corresponding includes #include <tools/...> become #include <toolx/...>
102 
103 ## 2022-05-03 Ben Morgan (vis_toolssg-V11-00-10)
104 - Preliminary build support for Qt5 and Qt6
105 
106 ## 2022-04-13 Ben Morgan (vis_toolssg-V11-00-09)
107 - Add needed dependencies
108 
109 ## 2022-04-06 John Allison (vis_toolssg-V11-00-08)
110 - `G4ToolsSGSceneHandler.cc`:
111   - void G4ToolsSGSceneHandler::AddPrimitive(const G4Polyhedron& polyhedron):
112     - Comment out common line elimination - too expensive for a large
113       polyhedron.
114     - Maybe eliminate altogether in future?
115     - Allow the graphics-reps utilities to optimise things like this.
116   - Use StandardSpecialMeshRendering(mesh).
117     - Of course, only if special mesh rendering is requested.
118 
119 ## 2022-03-22 Ben Morgan (vis_toolssg-V11-00-07)
120 - Use geant4_module_sources to add optional sources
121 
122 ## 2022-03-07 John Allison (vis_toolssg-V11-00-06)
123 - `G4ToolsSGSceneHandler`:
124   - `AddPrimitive (const G4Polymarker& a_polymarker)`:
125     - Define dots as a single pixel.
126     - Use `GetMarkerSize(...)` for circles and squares.
127   - `AddCompound(const G4Mesh& mesh)`:
128     - For parameterised tetrahedron mesh, call default
129       G4VSceneHandler::DrawTetMeshAsDots(mesh).
130     - Tested on "ICRP145", a Geant4 application that we hope can become
131       a Geant4 advanced example, downloaded from the supplementary material
132       of Kim et al, ICRP, 2020. Adult mesh-type reference computational
133       phantoms, ICRP Publication 145, Ann. ICRP 49(3).
134 
135 ## 2022-03-05 John Allison (vis_toolssg-V11-00-05)
136 - `G4ToolsSGSceneHandler::SetPlotterHistograms`:
137   - Suppress /control/verbose messages for /analysis/*/get* commands.
138 
139 ## 2022-02-08 Ben Morgan (vis_toolssg-V11-00-04)
140 - Access G4VVisCommand::G4VisManager pointer through static function GetVisManager
141   to prevent DLL issues on Windows.
142 
143 ## 2022-01-30 John Allison (vis_toolssg-V11-00-03)
144 - Co-works with visman-V11-00-05.
145 - G4ToolsSGViewer.hh:
146   - G4ToolsSGViewer::SwitchToMasterThread:
147     - At the moment, the ToolsSG viewer cannot draw trajectories *during* a run
148       so in multithreading mode, so in this function we draw any events that
149       have been kept by the vis manager. But we only need to do it if there are
150       end-of-event models in the scene - this tag fixes that.
151     - It fixes an issue where plots were being drawn twice.
152 - G4ToolsSGSceneHandler.cc:
153   - G4ToolsSGSceneHandler::SetPlotterHistograms:
154     - Add warning message if plot cannot be found:
155 ```
156 G4ToolsSGSceneHandler::SetPlotterHistograms: cannot get histogram - maybe doesn't exist?
157   Maybe this app does not do analysis at all?
158 ```
159 
160 ## 2022-01-28 Ben Morgan (vis_toolssg-V11-00-02)
161 - Replace `geant4_global_library_target` with direct file inclusion and
162   call to `geant4_add_category` to define library build from source modules.
163 
164 ## 2022-01-16 John Allison (vis_toolssg-V11-00-01)
165 - G4ToolsSGViewer::wheel_rotate:
166   - Re-program wheel_rotate for perspective projection:
167     - Takes into account the extent of the scene.
168 - Reactivate G4ToolsSGQtGLES::IsUISessionCompatible
169   - Paves way for permitted instantiation of multiple TSG drivers.
170 
171 ## 2021-12-10 Ben Morgan (vis_toolssg-V11-00-00)
172 - Change to new Markdown History format
173 
174 ---
175 
176 # History entries prior to 11.0
177 
178 13 November 2021 - John Allison (vis_toolssg-V10-07-16)
179 - G4ToolsSGSceneHandler.cc: Bug fix:
180   - In AddPrimitive, use preferred GetColour(a_polyline) instead of GetColour().
181     - Similarly for a_polymarker and a_polyhedron.
182     - If the vis attributes pointer is not up to date, GetColour() picks up
183       the colour of the previous object!
184       - GetColour() will probably be deprecated in future! It's use is
185         misleading - see visman-V10-07-27.
186 
187 12 November 2021 - Ben Morgan (vis_toolssg-V10-07-15)
188 - Retire G4VIS_... preprocessor symbols in toolkit build, only required
189   by obsolete GNUmake system
190 
191 8 November 2021 - Ben Morgan (vis_toolssg-V10-07-14)
192 - Retire G4UI/G4INTY_... preprocessor symbols in toolkit build, only required
193   by obsolete GNUmake system
194 
195 05 November 2021  Guy Barrand (vis_toolssg-V10-07-13)
196 - G4ToolsSGSceneHandler: SetPlotterHistograms(): revisit
197   in order that, from an int histogram hid given by a user (and
198   passed to a G4Plotter), the address of the tools::histo, managed by G4/analysis,
199   is retrieved by using a /analysis/h/get command so that the
200   histo is copied in a tools::sg::plottable managed by a tools::sg::plotter.
201   This way of doing secures the relationship tools::sg::plotter, managed by G4/vis
202   relative to the histo, managed by G4/analysis.
203    This overall way of doing permits to have the commands:
204      /vis/plotter/add/h1,h2
205   managed back in G4/vis, and then avoids to instrument
206   G4/examples and user code with the templated G4VisPlotMessenger
207   which is no more needed.
208 
209 03 November 2021  Guy Barrand (vis_toolssg-V10-07-12)
210 - G4ToolsSGSceneHandler: changes to deal with the changes
211   in management/G4PlotterManager that handles a local list of styles.
212 
213 25 October 2021  Guy Barrand  (vis_toolssg-V10-07-11)
214 - src/G4ToolsSGQtViewer.cc, sources.cmake: Linux: it permits to have cmake doing the
215   "mocing" of G4ToolsSGQtViewer.hh. (Strangely not needed on my mac).
216 - include/G4ToolsSGQtViewer.hh: handle a Qt "destroy" signal/slot to properly
217   delete the G4ToolsSGViewer from the G4ToolsSGSceneHandler in case a user
218   delete the viewer QWidget in the G4UIQt tab container widget.
219 - include/G4ToolsSGViewer.hh: FinishView: handle the update of plotters
220   (tools::sg::plots nodes) if any in the scene graph. Done by using
221   fSGSceneHandler.TouchPlotters()
222 - remove G4ToolsSGExport.hh. Now done by using tools/sg/write_paper.
223 - G4ToolsSGSceneHandler.hh,.cc: have a /vis/tsg/plotter/printParameters. To
224   print available style parameters of the tools::sg::plotter node.
225 - G4ToolsSGSceneHandler.hh,.cc: plotting logic. Mainly implement AddPrimitive(G4Plotter)
226   by handling a tools::sg::plots node in the scene graph. Have code to attach histograms
227   and setup styles
228 
229 22 October 2021  Guy Barrand  (vis_toolssg-V10-07-10)
230 - ToolsSG/History: change vis_toolsg to vis_toolssg in tags.
231 - include/G4ToolsSGQtViewer.hh: remove ShowView, FinishView: the below modification
232   permits to rely on the parent ShowView, FinishView. (No more need to have code
233   to handle the "in tab" case).
234 - include/G4ToolsSGQtViewer.hh/Initialise: enforce a Qt show() to be able
235   to retreive the true QGLWidget size at startup.
236 - include/G4ToolsSGQtViewer.hh: __APPLE__: implement a SetView to enforce a
237     fVP.SetGlobalMarkerScale(2);
238   so that 2D text have a similar size than other drivers and platforms.
239 - include/G4ToolsSGViewer.hh: handle a /vis/tsg/export command to
240   produce "paper" output files.
241 - include/G4ToolsSGViewer.hh: ShowView calls FinishView.
242 - include/G4ToolsSGViewer.hh: handle a scene graph so that camera and lighting nodes
243   belong to the viewer.
244 - G4ToolsSGSceneHandler.cc: AddPrimitives : use G4VSceneHandler::GetColour(), GetTextColour()
245   instead of the viewer vis attributs ones.
246 - G4ToolsSGSceneHandler.hh,.cc: revisit the scene graph logic so that camera and lighting
247   nodes be handled by G4ToolsSGViewer.
248 
249 13 October 2021  Guy Barrand  (vis_toolssg-V10-07-09)
250 - Following g4tools-V10-07-07.
251 - for 2D text with freetype; have a mechanism to handle embedded fonts.
252   Have the font lato_regular.ttf embedded in the C++ file:
253     tools/sg/font/lato_regular_ttf
254   The embedding of a .ttf file is done by using 'xxd -i' on a UNIX.
255   With this in place, usage of the env variable TOOLS_FONT_PATH is no more
256   needed for 2D freetype text to find the lato_regular font at run time.
257 - handle G4/vis lightening. Use a tools::sg::torche.
258 - for 2D: handle mouse resize of the viewer (Qt,Xt,X11,Windows).
259 - handle transparency. Cowork with modifs in:
260     tools/sg[GL_viewer,atb_vertices,render_action]
261 - G4ToolsSGViewer, G4ToolsSGSceneHandler: revisit the scene graph organization
262   to handle 2D text
263 - handle 2D graphics. Cowork with modifs in:
264     tools/sg/[text_freetype_marker,text_hershey_marker] to avoid text squashing.
265 
266 12 October 2021  Ben Morgan (vis_toolssg-V10-07-08)
267 - Xt backend does not depend on Xm
268 
269 01 September 2021  John Allison  (vis_toolssg-V10-07-07)
270 - Store default background in view parameters.
271 
272 30 June 2021  John Allison  (vis_toolssg-V10-07-06)
273 - Requires greps-V10-07-09, modeling-V10-07-11 and visman-V10-07-11.
274 - Revise vis models. See visualization/modeling/History for more details.
275 - Consequent changes:
276   o AddPrimitive(const G4Scale&) has been removed from all scene handlers.
277 
278 07 June 2021  John Allison  (vis_toolssg-V10-07-05)
279 - Requires greps-V10-07-07 (new method AddCompound (const G4Mesh&)).
280 - Requires modeling-V10-07-09 (new class G4Mesh).
281 - Requires visman-V10-07-10 (new default method and new commands).
282 - G4ToolsSGViewer.hh:
283   o Force kernel visit if special mesh rendering parameters change.
284 
285 28 May 2021 Ben Morgan (vis_toolssg-V10-07-04)
286 - Migrate to modular CMake build
287 
288 27 May 2021  John Allison (vis_toolssg-V10-07-03)
289 - AddPrimitive(const G4Polyhedron&):
290   o Minor improvement to error message in the case of unexpected number
291     of edges.
292 
293 23 May 2021  John Allison (vis_toolssg-V10-07-02)
294 - Corrections to cmake files for freetype fonts:
295   o Move freetype setup from CMakeLists.txt to sources.cmake.
296 - G4ToolsSGSceneHandler.cc: Remove redundant comments.
297 
298 14 May 2021  Guy Barrand (vis_toolssg-V10-07-01)
299 - cosmetic/style improvements:
300   o 0 => nullptr.
301   o have '= default' for some destructors.
302   o G4ToolsSGNode.hh : have public cpstor and operator=.
303   o G4ToolsSGViewer.hh : rm #ifdef G4TOOLSSG_DEBUG code.
304 
305 05 May 2021  Guy Barrand (vis_toolssg-V10-07-00)
306 - Requires cmake-V10-07-15, visman-V10-07-06 and externals-V10-07-02.
307 - First committal of a tools_sg driver (Guy Barrand).
308   o Four (mutually exclusive) options:
309     . TOOLSSG_X11_GLES
310     . TOOLSSG_WINDOWS_GLES
311     . TOOLSSG_XT_GLES
312     . TOOLSSG_QT_GLES