|
1
|
|
|
2
|
- To start the STAR Geometry browser use 3 shell commands:
- > stardev
- > source $STAR/QtRoot/qtgl/qtcoin/setup.csh
- > root4star GeomBrowse.C
|
|
3
|
- Zebra - *.fz
- ROOT Macro - *.C
- ROOT file - *.root
- "Open Inventor" - *.iv, can be used to combine
- the ROOT/ GEANT objects
with non-ROOT 3D shapes
- VRML - *.wrl, can
be used to combine the ROOT/
GEANT objects with non-ROOT 3D shapes
- In the other words, all versions of the STAR detector geometry
description for "GEANT Simulation" and
"Reconstruction" can be visualized.
|
|
4
|
- All common pixmap formats: gif, png, jpg, tiff etc (can be used to
create still and animated files)
- Postscript and Encapsulated PostScript
- VRML - Can be use to upload the 3D detector views
- see: http://root.bnl.gov/QtRoot/svt.html.
This format is useful for the Web-based application since it doesn’t
require any access to local GPU
- "iv" - "Open Inventor2" - can be used to browse the
STAR geometry and to create the high quality pictures and animations with third
party tools like "Maya"
http://usa.autodesk.com/adsk/servlet/item?id=7635770&siteID=123112#Connectivity
- In the other words the STAR
GEANT geometry can be exported to be seen with no GEANT / ROOT involved.
- mpeg (movie) to create the primitive movie.
|
|
5
|
- It provides the 3 different views of the STAR geometry:
- Tree-like (a'la "Internet Browser" )
- For example: http://www.star.bnl.gov/STAR/comp/vis/GeomBrowser/TreeView.png
- QGLviewer OpenGL view
- For example: http://www.star.bnl.gov/STAR/comp/vis/GeomBrowser/Activate3DViewers.png
- Coin3D "Open Inventor" view.
- For example: http://www.star.bnl.gov/STAR/comp/vis/GeomBrowser/Navigate3DViewers.png
- See: http://doc.coin3d.org/SoQt
- http://doc.coin3d.org/SoQt/classSoQtExaminerViewer.html
|
|
6
|
|
|
7
|
- 1. ROOT API.
- The browser uses the standard
ROOT plug-in mechanism. This
means to use it from within ROOT env to render the ROOT 3D class objects no special
API is required. The
TObject::Draw method will be served with the proper plug-in selected via ROOT resource file.
- 2. Open Inventor API:
- To control things
programmatically and to render the non-ROOT class objects one can use
“Open Inventor” API See: "
- http://doc.coin3d.org/Coin/classes.html for details
- The ROOT and non-ROOT objects
(including Coin3D animated objects) can be mixed within one 3D scene.
- 3. Qt API.
- The widget classes do provide
the Qt signal / slot API. This allows using the GeomBrowser to create
the custom Qt-based GUI, for example for the "Control Room"
and to create the animated interactive computer models of the STAR
detector useful for students, teaching and public presentations.
- The widget emits the Qt
signal as soon as the user "picks" some object. The signal
provides a C++ pointer to the original ROOT object.
|
|
8
|
- St_geom_Maker – featured interactive “stand-alone” “GeomBrowse.C” ROOT
macro to browse many types of the STAR detector geometry definitions from Zebra files,
ROOT files , ROOT macros, “Open Inventor” iv files, VRML files.
- St_geant_Maker – TGeo, TVolume - “on fly”
- StiMaker – Sti geometry “on fly”
|
|
9
|
- Coin3D plug-in is built around of
the TQtCoinWidget class which is the Qt QWidget. (TQtCoinWidget is an
equivalent of the TQtWidget class for the embedded TCanvas)
- The widget emits the Qt signal as soon as the user "picks"
some object. The signal provides a C++ pointer to the original ROOT
object that can be received by the user defined Qt slot to create the
customized selected object manipulation.
- The viewer is equipped with two built-in slots to handle the selected
object as well.
|
|
10
|
|
|
11
|
|
|
12
|
|
|
13
|
- The example of the using the “Open Inventor” ROOT Plug-in and the
external files to animate the 3D rendering can be found on the separate Web page
|
|
14
|
- The Qt-based ROOT 3D plug-ins do allow creating as many OpenGL widgets
as your local video hardware can sustain and set the video attributes
for each widget separately as the short animation on the right
demonstrates:
|
|
15
|
- It is simple to create the ROOT objects with the mixing ROOT 3D and Coin3D objects. For
example the ROOT objects define the geometry (shapes, color and
positions) and Coin3D define the animations, lighting, clipping, 3D
labels etc. The mixed objects can be saved/ restored using the regular
either ROOT (root file) or Coin3D (see slide 4) I/O
|