Log of /trunk/graf3d/eve/inc/TEveCalo3DGL.h
Parent Directory
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: 2215 byte(s)
Diff to
previous 33198
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
33198 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 26 08:40:04 2010 UTC (4 years, 8 months ago) by
matevz
File length: 2213 byte(s)
Diff to
previous 33124
Merge 33149 from the fireworks branch.
33149
=====
Author: alja
Date: Thu Apr 22 23:41:30 2010
New Revision: 33149
URL: http://root.cern.ch/viewvc?rev=33149&root=root&view=rev
Log:
TEveCaloData:
Add support for rendering of highlighted cells.
Add function GetHighlightTooltip() to set tool tip for highlighted cells.
TEveCaloLegoGL, TEveCalo3DGL, TEveCalo2DGL:
Add support for rendering of highlighted cells.
TEveCalo2D:
Cache selected and highlighted cells in eta and phi bins for RhoPhi and RhoZ projections.
Revision
33124 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 21 20:04:42 2010 UTC (4 years, 9 months ago) by
matevz
File length: 2145 byte(s)
Diff to
previous 30883
Implement central infractructure to allow eve-elements to support
internal multiple selection and highlightning of their sub-parts.
Use this in TEveDigitSet and its sub-classes TEveQuadSet and
TEveBoxSet.
Extend GL rendering and event-handling to support these operations.
eve/
====
* TEveElement - Add 3 new functions:
virtual TString GetHighlightTooltip();
virtual void UnSelected();
virtual void UnHighlighted();
* TEveSecondarySelectable - New secondary base-class for elements
supporting internal multiple selection / highlight.
* TEveDigitSet, TEveQuadSet, TEveBoxSet
- Sub-class TEveDigitSet from TEveSecondarySelectable.
- Implement functions needed for internal selection.
- Add common base-class TEveDigitSetGL for quad and box-set GL rendering.
* TEveChunkManager - Add support for restricted iteration.
TEveChunkManager::iterator accepts set<Int_t> for that purpose.
* TEveViewer - Add functions to handle additional mouse-hover signals
from TGLViewer.
* Other classes (all GL renderers) - Changes for additional argument
to TGLLogicalShape::DrawHighlight().
gl/
===
* TGLObject - Take AlwaysSecondarySelect() into account when deciding
whether to use DL caching for given draw-pass.
* TGLLogicalShape - Add a new (optional) argument to DrawHighlight()
specifying kind of outline to use (selected or highlighted). This
allows classes with internal selection to properly render outlines
when sub-parts of an object are both selected and highlighted.
* TGLEventHandler - Proparly handle objects with internal selection /
highlight.
* TGLSelectRecord - Add flag to separate GL-selection for selection
and for highlight. This is really used by record handlers.
* TGLViewer - Add two new signal-emitting functions to properly notify
clients about changes in internal object selection:
virtual void ReMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
virtual void UnMouseOver(TObject *obj, UInt_t state); // *SIGNAL*
tutorials/eve
=============
Add instructions for activation of internal selection in
TEveQuad/BoxSet.
Revision
30819 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 20 20:01:16 2009 UTC (5 years, 3 months ago) by
matevz
File length: 2168 byte(s)
Diff to
previous 26772
From Alja.
graf3d/gl/inc/TGLViewer:
Change enum ESecSelType: remove obsolete member kNone and redefine kAlways to kOnRequest.
graf3d/gl/src/TGLEventHandler:
Set default secondary selection mode to kOnRequest: Buy default secondary
selection is now activated also on mouse click if this is defined by TGLLogicalShape.
graf3d/eve/inc/TEveElement.h:
graf3d/eve/src/TEveElement.cxx:
Add virtual function ForwardSelection() to allow TEveElement objects to forward its selection
state. This is required in case if some other objects is managing its selection and highlight state.
graf3d/eve/src/TEveSelection.cxx:
In MapPickedToSelect() first check if element is forwarding a selection.
graf3d/eve/inc/TEveCaloData.h
graf3d/eve/src/TEveCaloData.cxx
Add a member to hold a list of secondary selected cells (i.e. towers). Add a functionality to
manage selection state of calorimeter objects. In order to fit in TEveSelection procedure
TEveCaloData now inherits from TEveElement and manages selection state of child elements in FillImpliedSelected().
graf3d/eve/inc/TEveCalo.h:
graf3d/eve/src/TEveCalo.cxx:
Forward selection to TEveCaloData. Override IncImpliedSelected() to printout selected tower info.
tutorials/eve/calo_detail.C
Call IncDenyDestroy() on calo data, since it is TEveElement, but not added anywhere.
tutorials/eve/calorimeters.C
In second tab create four different calorimeter views to demonstrate secondary selection.
Revision
26772 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 9 19:57:49 2008 UTC (6 years, 1 month ago) by
matevz
File length: 1930 byte(s)
Diff to
previous 24214
Merge revs between 26664 and 26771 from the fireworks branch.
26664
=====
TEveCalo3DGL - Check if data empty in draw function.
26681
=====
TEveCalo.cxx:
Check if Data is empty if use relative scaling.
TEveCalo3DGL.cxx:
Remove unnecessary if statement.
26683
=====
TGLFontManager:
Add maping from TTF ID to font name.
TEveCaloLegoGL:
Remove hard coded axis title, read from TAxis.
cms_calo.C, cms_calo_detail.C:
Set axis title.
26685
=====
Draw frame from eta, pgi axis in TEveCalo3D.
26687
=====
TEveCalo3DGL - Do not use DLcache in case of highlight and selection.
26688
=====
TEveCalo3DGL - Draw phi bins exactly from front endcap to back endcap.
26756
=====
TEveCalo3DGL - Draw frame within eta, phi limits.
26771
=====
TEveCaloX - Fix compilation warnings.
Revision
24214 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 11 14:48:35 2008 UTC (6 years, 7 months ago) by
matevz
File length: 1743 byte(s)
Diff to
previous 23140
TGLObject and subclasses
-----------------------------------------
Introduce new member 'Bool_t TGLObject::fMultiColor' that specifies
whether the class uses multiple colors for its rendering. This
information is important when drawing highlight or outlines around
objects as display-lists can not be used if color-state changes are
stored in them.
With this modification most of the logick for
virtual Bool_t TGLLogicalShape::ShouldDLCache(...)
can be implemented in TGLObject version.
Most of the GL-rendering classes have been fixed to properly set the
fMultiColor state and rely on the TGLObject::ShouldDLCache().
TGLPhysicalShape
----------------
Use TGLLogicalShape::Draw() instead of DirectDraw() when drawing
highlights to allow usage of display-lists for classes that do not use
multiple colors.
TGLUtil
-------
Decrease the default draw-quality for DrawLine/Cylinder/Sphere/Disk to
10. With software rendering the previous value of 60 caused very low
refresh rates.
Introduce two inner classes TDrawQualityModifier and
TDrawQualityScaler allowing easy/safe modification of draw-quality for
the above functions.
Introduce inner class TColorLocker allowing easy/safe modification of
color-lock state.
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: 1809 byte(s)
Diff to
previous 23087
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
23087 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 9 14:10:56 2008 UTC (6 years, 9 months ago) by
rdm
Original Path:
trunk/eve/inc/TEveCalo3DGL.h
File length: 1809 byte(s)
Diff to
previous 22539
From Alja, Bertrand and Matevz - merged branches/dev/fireworks 22550:23082.
Major changes imported by this merge are:
gl/
====
- reorganization of scene rendering in TGLViewer - render opaque
objects from all scenes first, then all transparent ones;
- improve saving of images from the GL-viewer so that the dialog boxes
and other windows do not result in black areas on the saved image;
- improved management of FTGL fonts accross GL contexts.
eve/
====
- new classes for visualization of calorimeter data in lego mode;
- allow fixed scale beyond given radius for fish-eye projections.
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.