1 / 11

Zubanov Alexei, 2006 Aug 07 – Sep 28 zubanov@jinr.ru

QtROOT package extension with Coin3D lib. Zubanov Alexei, 2006 Aug 07 – Sep 28 zubanov@jinr.ru. Outline. STAR Needs & Current Tools Coin3D lib Advantages Implementation Steps New QtRoot Class Tree Examples of New Viewer Using Different Styles Selection (Picking)

Download Presentation

Zubanov Alexei, 2006 Aug 07 – Sep 28 zubanov@jinr.ru

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. QtROOT package extension with Coin3D lib Zubanov Alexei, 2006 Aug 07 – Sep 28 zubanov@jinr.ru

  2. Outline • STAR Needs & Current Tools • Coin3D lib Advantages • Implementation • Steps • New QtRoot Class Tree • Examples of New Viewer Using • Different Styles • Selection (Picking) • Manipulation • Summary 2 Zubanov Alexei, Extension QtRoot package, 2006

  3. Introduction: STAR needs • Online display • Multiple scene representation modes • Event reconstruction • Detector & Tracks detailed information retrieval • Simulation • Geometry checks • Easy navigation through detector structure: e.g. transparency etc. 3 Zubanov Alexei, Extension QtRoot package, 2006

  4. Introduction: Existing Tools ROOT QtRoot TCanvas TQtCanvas TVirtualViewer3D (abstract) TQtRootViewer3D TBuffer3D 1 2 TObject3DView GLViewer x3d 3 GLViewer System Great, but lacks features that STAR needs right away: transparency problem, no object selection (“pick” scene object ability) 1 Great, but no hardware acceleration support means no online display! 2 Excellent, a bit hard to extend and implement new features required by growing STAR needs! 3 4 Zubanov Alexei, Extension QtRoot package, 2006

  5. Solution: Coin3D integration into default Root environment ROOT When you use a high level graphic library (like Coin3D), you don't need to think about creating simple things which request a lot of coding. The library provide many embedded nice opportunities. QtRoot TCanvas TQtCanvas TvirtualViewer3D (abstract) TQtRootViewer3D TBuffer3D TObject3DView GLViewer x3d GLViewer System CoinViewer System Main features provided by Coin3D : • True transparency. (10 transparency types) • More scene representation modes (7) • Arbitrary count of interactive light sources • Selectors & Manipulators • Level of Details support (distance objects displayed in low quality) • Engines to create Animated scene 5 Zubanov Alexei, Extension QtRoot package, 2006

  6. Implementation: QtRoot Class Tree, new modules created Main viewer window: sweet GUI design 1 Interface, to have chance to work like ROOT plugin 2 Coin3D factory: it creates a Coin3D specific object tree 3 2 1 Integrated as standard ROOT viewer! Does not need any extra steps to use within STAR framework! 3 Created modules 6 Zubanov Alexei, Extension QtRoot package, 2006

  7. Implementation: new features available for STAR collaboration Simple transparency example, useful for geometry checks! Basic geometry view: as good as existing tools (even better quality available!) Now: ability to select specific tracks! Great for reconstruction QA! (e.g.: track highlighted by red above) Many new draw styles: great for publications! 7 Zubanov Alexei, Extension QtRoot package, 2006

  8. Possible future advance : object manipulators Near future : powerful object manipulation.Great for detector R&D projects! 8 Zubanov Alexei, Extension QtRoot package, 2006

  9. Summary Done: • Main question answered: Can we use Coin3D to help physicists in visualization? YES! • “Smart” Viewer developed (part of QtRoot package) as standard dynamic load ROOT library: • Draws geometry from ROOT, WRL, IV files. Stores back in WRL, IV formats • Selects scene objects (detectors parts, tracks). • Nice pictures for publications: export to JPG, PS formats • Qt-based: emits proper signals (supports Signal-Slot mechanism). Base requirement for Object Editor. • Can be used in STAR right away!NO extra efforts needed, “one-liner” config change to allow STAR-wide usage. Possible To Do List (to be decided by STAR S&C council) : • Create Object Editor. Additional tool for changing properties of selected objects (color, style, size) • Add “Track filter” option, see only interesting tracks • Add “Geometry filter” option, see only interesting geometry parts • Complete Event Display application with new viewer features Work will be continued in Dubna, Russia. PPL-STAR review deadline: Feb'07 9 Zubanov Alexei, Extension QtRoot package, 2006

  10. Information sources "C++ GUI Programming with Qt3" by Jasmin Blanchette and Mark Summerfiled The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor™, Release 2 ROOT User's Guide: ftp://root.cern.ch/root/doc/Users_Guide_5_12.pdf Qt class reference: http://www.trolltech.com/developer/documentation Coin3D class reference: http://doc.coin3d.org/Coin-dev/ SoQt class reference: http://doc.coin3d.org/Coin-dev/ Qt Reference Documentation (programming techniques): http://doc.trolltech.com/4.1/ QtRoot package: http://root.bnl.gov/ Qt & ROOT by V.Fine "Cross-Platform Qt-Based Implementation of the Low Level GUI Layer of ROOT " talk by V.Fine 10 Zubanov Alexei, Extension QtRoot package, 2006

  11. Information This package is the part of the QtRoot package, see installation guide at : http://root.bnl.gov/QtRoot/How2Install4Unix.html#installroot Documentation available at: http://www.star.bnl.gov/~zubanov/ ROOT available at: http://root.cern.ch/ Coin3D and SoQt available at: http://www.coin3d.org/lib/ 11 Zubanov Alexei, Extension QtRoot package, 2006

More Related