Geant4 Cross Reference |
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