[root] / trunk / graf3d / eve / inc / TEveManager.h Repository:
ViewVC logotype

Log of /trunk/graf3d/eve/inc/TEveManager.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 35074 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 30 15:18:02 2010 UTC (4 years, 4 months ago) by matevz
File length: 8073 byte(s)
Diff to previous 31256
Merge the following revisions from branches/dev/fireworks:
34608, 34786, 34787, 34788, 34804, 34808, 34835, 34841, 34956, 35031, 35071


34608
=====

Author: matevz
Date: Tue Jul 27 13:04:00 2010
New Revision: 34608

URL: http://root.cern.ch/viewvc?rev=34608&root=root&view=rev
Log:
Add data-member 'Int_t fNumChildren' caching the number of children.
std::list<>::size() can become really expensive for large collections.
Observed when running on heavy-ion data.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveGeoNode.cxx


34786
=====

Author: alja
Date: Thu Aug 12 20:05:46 2010
New Revision: 34786

URL: http://root.cern.ch/viewvc?rev=34786&root=root&view=rev
Log:
CPU performance improvements:
Add virtual GetProjectedAsElement() in TEveProjected and its derived classes to avoid dynamic casts.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveBox.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCompound.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveLine.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePolygonSetProjected.h
    branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h
    branches/dev/fireworks/graf3d/eve/inc/TEveStraightLineSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackProjected.h
    branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx


34787
=====

Author: alja
Date: Thu Aug 12 20:36:52 2010
New Revision: 34787

URL: http://root.cern.ch/viewvc?rev=34787&root=root&view=rev
Log:

Bugfix:
In TEveCaloDataVec add missing check for periodic TwoPi flag (TEveCaloData::fWrapTwoPi).

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx


34788
=====

Author: matevz
Date: Thu Aug 12 20:38:50 2010
New Revision: 34788

URL: http://root.cern.ch/viewvc?rev=34788&root=root&view=rev
Log:
Protect Runge-Kutta propagator against division by zero when the field
object returns 0 as the maximum magnetic field.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx


34804
=====

Author: matevz
Date: Fri Aug 13 13:42:28 2010
New Revision: 34804

URL: http://root.cern.ch/viewvc?rev=34804&root=root&view=rev
Log:
* TEveManager
  Use TExMap instead of std::set to store changed elements.
  Set insertion becomes expensive for large collections all being
  changed at the same time.

* TEveSceneList
  In ProcessChanges() take TExMap* as argument. Here map of changed
  objects / elements still needs to be built as we iterate in parallel
  over logical shape maps of all scenes.

* Other classes
  Implement virtual TEveElement::GetObject() for frequently used
  classes to avoid unnecessary dynamic casts.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveArrow.h
    branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoNode.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveManager.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveScene.h
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveManager.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveScene.cxx


34808
=====

Author: matevz
Date: Fri Aug 13 14:45:18 2010
New Revision: 34808

URL: http://root.cern.ch/viewvc?rev=34808&root=root&view=rev
Log:
White-space.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h


34835
=====

Author: matevz
Date: Tue Aug 17 18:21:43 2010
New Revision: 34835

URL: http://root.cern.ch/viewvc?rev=34835&root=root&view=rev
Log:
In CreateWindow(), also check if Display* is non-null.

Modified:
    branches/dev/fireworks/graf3d/gl/src/TGLWidget.cxx


34841
=====

Author: alja
Date: Wed Aug 18 15:20:26 2010
New Revision: 34841

URL: http://root.cern.ch/viewvc?rev=34841&root=root&view=rev
Log:
Use TEveProjected::GetProjectedAsElement() instead of dynamic_cast of TEveProjected to TEveElement.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx


34956
=====

Author: alja
Date: Mon Aug 23 19:38:40 2010
New Revision: 34956

URL: http://root.cern.ch/viewvc?rev=34956&root=root&view=rev
Log:

In TEveCalo2DGL::DrawRPhi() fix offset-by-one  error (last bin in RPhi was not rendered).

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCalo2DGL.cxx


35031
=====

Author: alja
Date: Thu Aug 26 18:25:31 2010
New Revision: 35031

URL: http://root.cern.ch/viewvc?rev=35031&root=root&view=rev
Log:

Fix rendering of endcap cellc in stack at negative eta.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo3DGL.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx


35071
=====

Author: matevz
Date: Mon Aug 30 15:53:24 2010
New Revision: 35071

URL: http://root.cern.ch/viewvc?rev=35071&root=root&view=rev
Log:
* TEveCalo3D
  Add calo-grid line-width control.
  Add individual getters / setters for drawing of endcap / barrel
  grid.

* TEveCalo3DGL
  Honour settings for grid line-width and visibility.

* TEveElement
  Mark some data-members as transient.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx

Revision 31256 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 17 21:59:06 2009 UTC (5 years, 2 months ago) by matevz
File length: 8096 byte(s)
Diff to previous 29481
* TEveBrowser
  Add static ged-editor class-name to TEveGListTreeEditorFrame.
  Cleanup.

* TEveGedEditor
  Add coment about usage of virtual TGedFrame* CreateNameFrame().
  Cleanup.

* TEveGedEditor
* TEveManager
  Cleanup.

Revision 29481 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 16 07:35:38 2009 UTC (5 years, 6 months ago) by brun
File length: 8219 byte(s)
Diff to previous 29476
TRedrawDisabler destructor must be virtual

Revision 29476 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 15 16:48:29 2009 UTC (5 years, 6 months ago) by matevz
File length: 8211 byte(s)
Diff to previous 27157
Make dictionary for TEveManager::TRedrawDisabler - this is extremely
useful to have in the macros.

Revision 27157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 15 14:05:12 2009 UTC (6 years ago) by brun
File length: 8135 byte(s)
Diff to previous 26717
From Axel:
Replace all references to Text_t by char, still keeping the definition in Rtypes.h

Revision 26717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 7 22:07:55 2008 UTC (6 years, 1 month ago) by matevz
File length: 8145 byte(s)
Diff to previous 26662
graf3d/gl
=========

Documentation changes.

TGLSAViewer
-----------
- store TGLSAFrame as a normal composite-frame.


graf3d/eve
==========

Support for creation of GL windows.
Support for full hierarhic destruction.

TEveManager
-----------
- Push all gl-viewer management to TEveViewerList.
- Allow spawning several GL viewers during initialization.

TEveViewer
----------
- Subclass from TEveWindowFrame. This way all eve-window operations
  are supported.

TEveViewerList
--------------
- Perform gl-viewer management via Add/RemoveElement() virtuals.

TEveWindow
----------
- Properly set cleanup of all frames.
- Delete embedded GUI frames via DeleteWindow().
- Change all debug printout with info messages at gDebug > 0.

TEveElement
-----------
- Added access methods for member 'Int_t fParentIgnoreCnt'.


tutorials/eve
=============

Use new interace for creating / accessing eve and gl viewers.

Revision 26662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 4 20:25:08 2008 UTC (6 years, 1 month ago) by matevz
File length: 8230 byte(s)
Diff to previous 26561
Merge some revs between 26639 and 26661 from the fireworks branch.

26639
=====

TEveElement
-----------
- Add virtual ChangedNameTitle() to allow propagation of name/title change.
- Call ChangedNameTitle() in SetElementName/Title() functions.

TEvePointSet
------------
- Call ChangedNameTitle() in SetElementName/Title() functions.

TEveWindow
----------
- Use ChangedNameTitle() to propagate eve-window name changes to
  eve-frame components.
- Replace trivial overloads of Acuire/RelinquishWindow() with
  name-change callback.


26640
=====

TGLRnrCtx
---------
- Start reporting gl-select-buffer resizing once its size is above 64k.


26653
=====

TEveWindow
----------
- Add getters.


26661
=====

TEveWindowManager
-----------------
- New class to manage EVE windows, in particular selection and dectruction.
- Move code for managing current-window from TEveWindow here.

TEveWindow
----------
- Move current-window code to TEveWindowManager.
- In PreDeleteElement() notify the window manager that the window is
  about be deleted.
- TEveCompositeFrameInMainFrame and TEveCompositeFrameInTab were not
  forwarding name-change to the base-class in WindowNameChanged().

TEveManager
-----------
- Replace TEveElementList fWindows with TEveWindowManager fWindowManager.

TEveElement
-----------
- Added virtual void PreDeleteElement() that gets called prior to element
  deletion. The local version still calls gEve->PreDeleteElement(this).

Revision 26561 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 1 17:35:55 2008 UTC (6 years, 1 month ago) by matevz
File length: 8186 byte(s)
Diff to previous 26274
Merge the following releases from the fireworks branch:

26432
 - Added TGLSAViewer::DeleteMenuBar().

26444
 - TGLSAViewer - use a steering flag for menu-bar destruction.

26468
 - TEveCaloDataVec - option to define XY axis from cells themselves.

26481
 - TEveCaloDataVec - bugfix;
 - show the new feature in cms_calo*.C tutorials.

26523
 - TEveWindow - new classes for management of EVE vindows;

26524
 - missing include.

26557
 - TEveWindow:
   - support hiding of title-bar directly from frame; render decollapse box
     when hidden;
   - bind context menu to Action/IconBox button;
   - consistent usage of simple frame-style.

Revision 26274 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 18 20:32:48 2008 UTC (6 years, 2 months ago) by matevz
File length: 8085 byte(s)
Diff to previous 25842
Merge from the fireworks branch the following revisions:

26053
=====
TEveCalo, TGLFontManager - Fix memory leaks.

26167
=====
TEveLegoOverlay - Add possiblity to draw a header text in top right corner of window.

26254
=====
TGLSAViewer - Properly clean up the TGMenuBar.
TEveManager - Add static method Terminate() to shutdown the manager.

26267
=====
TGLScene - In FindLogicalSmartRefresh() delete the shape if the classes don't
match. This was a (rare) memory leak.
TEveBoxSetGL - Consistent punctuation.

26273
=====
TEveManager - Add method 'void CloseEveWindow()' and connect it to the
'CloseWindow()' signal of the main browser.

Revision 25842 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 16 10:37:11 2008 UTC (6 years, 3 months ago) by matevz
File length: 8022 byte(s)
Diff to previous 25438
Add setter for current event.

Revision 25438 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 17 19:35:20 2008 UTC (6 years, 4 months ago) by matevz
File length: 7949 byte(s)
Diff to previous 24449
TEveBrowser
-----------
Add optional Option_t* argument to InitPlugins() allowing caller to
choose which plugins to instantiate.
Handle 'F' locally, pass others to TRootBrowser.

TEveManager
-----------
Add optional Option_t* argument to constructor and to static Create().
This allows selection of which plugins to load at startup.

Revision 24449 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 21:37:48 2008 UTC (6 years, 7 months ago) by matevz
File length: 7909 byte(s)
Diff to previous 24266
Implement saving/loading of VizDB via creation/processing of CINT scripts.

TEveManager
-----------
1. Implement Load/SaveVizDB()
2. Add bool members controlling behaviour of VizDB during loading, in
particular whether to replace existing entries and update connected clients.

TEveElement
-----------
1. Implement top-level SaveVizParams() and virtual WriteVizParams()
that is called throughout the element class-hierarchy.
2. Add the following methods that can be called from the context menu:
   - void VizDB_Apply(const char* tag);
   - void VizDB_Reapply();
   - void VizDB_UpdateModel(Bool_t update=kTRUE);
   - void VizDB_Insert(const char* tag, Bool_t replace=kTRUE, Bool_t update=kTRUE);

Other
-----
Virtual WriteVizParams() implemented for the following classes:
TEvePointSet, TEveLine, TEveTrack, TEveTrackList and
TEveStraightLineSet.

Revision 24266 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 13 13:42:25 2008 UTC (6 years, 7 months ago) by matevz
File length: 7295 byte(s)
Diff to previous 24147
Merge rev 24265 from the fireworks branch.

Revision 24147 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 4 19:48:39 2008 UTC (6 years, 7 months ago) by matevz
File length: 6904 byte(s)
Diff to previous 24026
- TEveProjectionManager:
  Added member 'Bool_t fImportEmpty' - this forces the projection manager
  to also import sub-trees without any projectable elements.
  Useful if one expects a completely parallel element structure in
  projected replica.

- TEveSelection:
  Added method 'void RemoveImpliedSelected(TEveElement* el)' needed for
  deregistration of implied-selected elements during their destruction.

- TEveManager:
  - In PreDeleteElement() check if the element is implied selected or
    highlighted and deregister it from there.
  - In function InsertVizDBEntry():
    a) added argument 'Bool_t update';
    b) when replacing the model-element copy its children to the new
       model and optionally update their viz-params.

- TEveElement:
  - Add methods to simplify propagation of visualization-parameters
    between model-elements and their clients
  - Add members 'Int_t fParentIgnoreCnt, fTopItemCnt' that allow
    better tracking of references in view of automatic destruction.
  - Consolidate Has/Num|Children/Parents() methods.

- TEveGeoNode:
  Use TEveElement::HasChildren() instead of checking container size.

Revision 24026 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 26 19:12:12 2008 UTC (6 years, 7 months ago) by matevz
File length: 6848 byte(s)
Diff to previous 24006
TEveManger
----------

Implement basic visual-parameter database management using TMap
(load/save not supported yet).

Use TMap instead of std::map for geometry management.

TEveElement
-----------

Implement CopyVizParamsFromDB().

test_compound.C
---------------

Add minimal example showing usage of visual-parameter database.

Revision 24006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 26 07:25:29 2008 UTC (6 years, 8 months ago) by brun
File length: 7226 byte(s)
Diff to previous 23979
From Federico:
some efffc++ fixes

Revision 23979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 22 19:28:49 2008 UTC (6 years, 8 months ago) by matevz
File length: 7103 byte(s)
Diff to previous 23140
Propagation of main-color and render-state from:
a) compounds to compound-members;
b) projectables to projected elements.

New tutorial to test/demonstrate compounds (not complete).

Revision 23140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by rdm
File length: 6714 byte(s)
Diff to previous 22539
move the following directories to "graf2d":

asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf

move the following directories to "graf3d":

eve, ftgl, g3d, gl, x3d

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/eve/inc/TEveManager.h
File length: 6714 byte(s)
Diff to previous 21652
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 21652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 17:13:04 2008 UTC (7 years ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 6339 byte(s)
Diff to previous 21644
Cleanup includes in TEveManager.h and add them in cxx files that actually need them.

Revision 21644 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 15:51:14 2008 UTC (7 years ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 6378 byte(s)
Diff to previous 21534
Do not check if geometry file is readable before calling
TGeoManager::Import() as it does not work for remote files (http in
particular).

Add option to assign aliases for geometries and to specify the default
geometry.

Revision 21534 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 20 12:17:22 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 6165 byte(s)
Diff to previous 21452
Fix a bug in TEveElement::Destroy(): the destruction was not properly
propagated to parents and thus redraw was not performed.

Extend strings providing information about exceptions.

Consolidate variable name for exception header in files that were
modified during the above changes.

Revision 21452 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 18 15:16:52 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5995 byte(s)
Diff to previous 21291
Main ged-editor was not updated from TEveManager::ElementChanged().

Revision 21291 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 10 11:56:31 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5945 byte(s)
Diff to previous 21255
Add exception handler for TEveExceptions.
Rename function arguments that were still named render_element and alike.
Add function descriptions.

Revision 21255 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 7 08:43:20 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/eve/inc/TEveManager.h
File length: 5803 byte(s)
Diff to previous 21167
From Bertrand:
- Use correct declaration of global gEve (R__EXTERN instead of extern) 
  to make it externally available when linking on Windows.

Revision 21167 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 4 01:01:27 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5800 byte(s)
Diff to previous 21076
Fix warnings about size_t.
Add some docs.
Change magnetic field units from kGauss to Tesla.

Revision 21076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 27 17:58:28 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5812 byte(s)
Diff to previous 21054
Fix some coding-rule violations.

Revision 21054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 18:00:41 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5805 byte(s)
Diff to previous 21048
When including ROOT header files use "" instead of <>.

Replace NULL with 0 in TEveGLText.

TEveTrackPropagator: make public data-members protected and provide
get/set methods. Second attempt at fixing Solaris cc errors: make
Helix and Vertex4d struct declarations public.

Revision 21048 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 16:01:52 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveManager.h
File length: 5805 byte(s)
Diff to previous 21044
Add static function TEveManager::Create() and removed old
initialization scripts.

Fix macros to use this new initialization method.

Revision 21044 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Nov 26 14:31:05 2007 UTC (7 years, 1 month ago) by rdm
Original Path: trunk/eve/inc/TEveManager.h
File length: 5854 byte(s)
from Matevz:
add the TEve classes to the svn trunk. Code compiles without warnings on
MacOS X, Linux and Windows XP. Tutorials still don't work, as init code
is still missing (coming later today).

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9