Visualization Working Group
Work Plan as of 10 February 2010.
As is standard for Geant4 Planned Features documents,
(1) means expected to be done in first half of year
(2) means expected to be done in second half of year
(2/*) means may get to this in second half of year or may
take longer
OGLxQt: Fix remaining small bugs, moving Qt from Beta to
full release - (1)
Integration of Qt Viewers in QtUI - (1/2)
OGLFile: Proposed new driver, uses OpenGL to makes PS, EPS,
JPG without graphics window - (1/2)
Possible use includes batch jobs, an environment where there
is no graphics window.
gMocrenFile: fine tune - (1)
gMocren Application: fine tune - (1)
N03 VisTutor Examples: General Revision - (1)
DAWN: Update to work on latest versions of Windows, Mac and
Linux - (1)
DAWNFILE: Add commands to specify output file, dir, culling,
max file num and precision - (1/2/*)
VRML: Change from current flat format to hierarchical format
- (1/2/*)
This would have great value as an exchange format from
Geant4 vis to other 3D systems.
Add testing of Visualization to the Release Procedure -
(1/2)
Add more trajectory models and filters - (1/2/*)
Replace /vis/open OGLIX and OGLIWin32 with single command,
perhaps just /vis/open OGLIX - (2)
and replace /vis/open OGLIS, OGLSWin32 with single command,
/vis/open OGLIS
Investigate dynamic loading of visualization drivers - (2/*)
Improve visualization tools for voxel geometries - (2/*)
We have gMocren for this kind of work, but look for simple
things we could do to make other drivers also work better for this kind of
geometry.
Support filtering of geometry according to attributes -
(2/*)
This is the geometry complement to
/vis/filtering/trajectories.
Add commands to label trajectories or hits with G4Atts -
(2/*)
HepRep browsers provide this functionality.
Other drivers could support this by using the new 3D text
primitives.
Implement /vis/scene/add/title - (2/*)
Arguments: [<title="Geant4">] [<size>]
[<x>] [<y>] (2D)
Implement /vis/scene/add/date - (2/*)
Arguments: [<size>] [<x>] [<y>] (2D)
Implement /vis/scene/add/logo2D - (2/*)
Implement /vis/scene/add/text2D - (2/*)
Integrated visualization of field lines (electric, magnetic,
maybe even gravitational) - (2/*)
Develop web-based DAWN rendering service - (2/*)
Accepting that some users are not going to have DAWN on
their own machine, set up a web based service. User fills out a form to tell where to find the .prim file,
fills out some other parameters that are the equivalent to running the DAWN
setup GUI on user's local machine, and tells it their email address. User then hits the submit button and
walks away.
Some time later, user get an email that tells where to pick
up the completed eps file.
Provide full support for visualization of boolean shapes -
(2/*)
Boolean operations on polyhedral representations of Geant4
solids for visualisations were improved in 9.3. But it is still not a general solution. It is a workaround based on finding a
good way of shifting one solid relative to the other by a small amount. The most serious computational problems
arise when faces coincide. We have
had a simple shifting algorithm in place for many years; in 9.3 this algorithm
is merely a little more sophisticated.
In a test it fixed 96% of failures. There remains a stubborn 4%. (The effect of a failure is to prevent visualisation of the
boolean solid, except with the ray tracer driver, which does not rely on
polyhedrons.) We might be able to
make the shifting workaround yet more sophisticated but, ideally, we really
need a comprehensive solution, a daunting re-write and improvement of the basic
facet-intersection algorithms.