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.