g4display
Loading...
Searching...
No Matches
g4displayConventions.h
Go to the documentation of this file.
1#pragma once
2
11
12#include <vector>
13#include <string>
14
15namespace g4display {
16
17// Notice: with Qt6 we do not have access anymore to OGL, but the examples still do.
18// This can be a potential problem in the future.
19
20// Viewer driver guide (availability of interactive drivers depends on the Geant4 build and platform):
21// - TOOLSSG_QT_GLES: default in Geant4 now
22// - ASCIITree (ATree): geometry hierarchy as text; useful headless, but provides no graphical view.
23// - DAWNFILE (DAWNFILE): high-quality technical-renderer export; requires DAWN and is not interactive.
24// - RayTracer (RT): software-rendered JPEG output; realistic but slower and not interactive.
25// - VRML2FILE (VRML2FILE): portable 3D scene export; requires an external VRML viewer.
26// - gMocrenFile (gMocrenFile): medical volume-rendering export; specialized and requires gMocren.
27// - TOOLSSG_OFFSCREEN (TSG_OFFSCREEN, TSG_FILE): headless image/vector output; no interactive window.
28// - OpenGLImmediateQt (OGLIQt, OGLI): Qt/OpenGL with low scene memory; complex scenes redraw slowly.
29// - OpenGLStoredQt (OGLSQt, OGLS): Qt/OpenGL with fast redraw and picking; uses more graphics memory.
30// - OpenGLImmediateX (OGLIX, OGLIQt_FALLBACK): X11/OpenGL with low scene memory; requires an X server.
31// - OpenGLStoredX (OGLSX, OGLSQt_FALLBACK): fast X11/OpenGL redraw; requires X and more graphics memory.
32// - RayTracerX (RTX): ray-traced JPEG plus an X window; requires X and remains computationally expensive.
33// - TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_QT_GLES_FALLBACK): interactive X11/GLES without Qt;
34// requires an X server and GLES support.
35
36// Default viewer driver used by the module.
37inline constexpr char GDEFAULTVIEWERDRIVER[] = "TOOLSSG_QT_GLES";
38
39// Default viewer window size (WIDTHxHEIGHT).
40inline constexpr char GDEFAULTVIEWERSIZE[] = "800x800";
41
42// Default viewer window position (X+Y or -X+Y depending on window manager conventions).
43inline constexpr char GDEFAULTVIEWERPOS[] = "-400+100";
44
45// Default circle segmentation resolution for curved primitives.
46inline constexpr int GDEFAULTVSEGPERCIRCLE = 100;
47
48// Error codes (module-specific).
49inline constexpr int EC__VISDRIVERNOTFOUND = 1301;
50inline constexpr int EC__NOUIMANAGER = 1302;
51
58extern std::vector<std::string> AVAILABLEG4VIEWERS;
59
60} // namespace g4display
constexpr char GDEFAULTVIEWERSIZE[]
constexpr int EC__NOUIMANAGER
constexpr int GDEFAULTVSEGPERCIRCLE
constexpr char GDEFAULTVIEWERPOS[]
constexpr int EC__VISDRIVERNOTFOUND
std::vector< std::string > AVAILABLEG4VIEWERS
List of Geant4 viewer driver names known to the application.
constexpr char GDEFAULTVIEWERDRIVER[]