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

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

Parent Directory Parent Directory


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

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 22161 byte(s)
Diff to previous 43018
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 43018 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 16 03:13:21 2012 UTC (2 years, 11 months ago) by matevz
File length: 22151 byte(s)
Diff to previous 36374
Rewrite highlight rendering so that the stencil-control logic lives on the
TGLScene level, within new function TGLScene::RenderHighlight(). A set of new
functions called RenderXXXForHighligt() was introduced in TGLViewer/Scene.

This works around the problems with stencil buffer
coherency during multi-pass rendering with multiple clipping planes.

Some tweaking was necessary in TEve-GL classes that implement specialized
DrawHighlight() virtual from TGLLogicalShape.

Revision 36374 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 19 17:50:23 2010 UTC (4 years, 3 months ago) by matevz
File length: 22107 byte(s)
Diff to previous 36373
Fix compilation warnings.

Revision 36373 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 19 17:43:35 2010 UTC (4 years, 3 months ago) by matevz
File length: 22108 byte(s)
Diff to previous 36103
Merge the following revisions from branches/dev/fireworks:
35724, 35865, 35866, 35867, 36028, 36093, 36110, 36125, 36130, 36365, 36370


35724
=====

Author: matevz
Date: Fri Sep 24 22:08:36 2010
New Revision: 35724

URL: http://root.cern.ch/viewvc?rev=35724&root=root&view=rev
Log:
Preliminary version of camera auto-rotator.

Added:
    branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h   (with props)
    branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx   (with props)
Modified:
    branches/dev/fireworks/graf3d/gl/inc/LinkDef.h

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
            ('svn:keywords' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
            ('svn:keywords' added)


35865
=====

Author: alja
Date: Wed Sep 29 20:38:27 2010
New Revision: 35865

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

Properly convert Et to E.

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


35866
=====

Author: alja
Date: Wed Sep 29 20:39:58 2010
New Revision: 35866

URL: http://root.cern.ch/viewvc?rev=35866&root=root&view=rev
Log:
Fix compilation warning.

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


35867
=====

Author: alja
Date: Wed Sep 29 21:12:04 2010
New Revision: 35867

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

Use cell absolute value when update TEveCaloDataHist::fMaxValE and TEveCaloDataVec::fMaxValE.

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


36028
=====

Author: alja
Date: Fri Oct  1 18:24:15 2010
New Revision: 36028

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

Anti-alias frame lines.

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


36093
=====

Author: matevz
Date: Tue Oct  5 21:30:57 2010
New Revision: 36093

URL: http://root.cern.ch/viewvc?rev=36093&root=root&view=rev
Log:
Complete implementation.

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
    branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx


36110
=====

Author: matevz
Date: Wed Oct  6 13:49:26 2010
New Revision: 36110

URL: http://root.cern.ch/viewvc?rev=36110&root=root&view=rev
Log:
Add camera rotator controls to gl-viewer editor.
Put it together with stereo controls in the "Extras" tab.

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
    branches/dev/fireworks/graf3d/gl/inc/TGLViewer.h
    branches/dev/fireworks/graf3d/gl/inc/TGLViewerEditor.h
    branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewerEditor.cxx


36125
=====

Author: matevz
Date: Wed Oct  6 17:09:07 2010
New Revision: 36125

URL: http://root.cern.ch/viewvc?rev=36125&root=root&view=rev
Log:
Remove redundant arguments.

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


36130
=====

Author: matevz
Date: Wed Oct  6 17:34:07 2010
New Revision: 36130

URL: http://root.cern.ch/viewvc?rev=36130&root=root&view=rev
Log:
* TGLAutoRotator
  Use TStopwatch to measure time between two redraws.
  Do not stop / restart the timer, keep it running.
  Improve defaults.

* TGLViewerEditor
  Allow 3 decimal digits for delta-time.

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
    branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewerEditor.cxx


36365
=====

Author: alja
Date: Mon Oct 18 18:41:05 2010
New Revision: 36365

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

TEveElement, TEveProjectionBases:
Add support for fast destruction of large number of elements (e.g. heavy ion data).

TEveRefBackPtr, TEveTrackPropagator:
Optimize TEveRefBackPtr::DecRefCount() for large number of references.

TEveElement, TEveScene, TEveGedEditor, TEveGeoNode, TEveDigitSet,
TEveArrow, TEvePointSet, TEveGeoShape:
Remove default parameter in GetObject(), GetEditorObject(), and GetRenderObject() to avoid
unnecessary creation/destruction of temporary TEveException object.

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/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h
    branches/dev/fireworks/graf3d/eve/inc/TEveUtil.h
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveGedEditor.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveScene.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveUtil.cxx


36370
=====

Author: matevz
Date: Tue Oct 19 18:50:07 2010
New Revision: 36370

URL: http://root.cern.ch/viewvc?rev=36370&root=root&view=rev
Log:
* TEveTrackPropagator:
  Fix calculation of:
  - fractional step when approaching a reference point;
  - track length when using helix propagator.

* track.C:
  Add test-case from ILC display Druid that was causing problems.

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

Revision 36103 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 09:14:14 2010 UTC (4 years, 3 months ago) by matevz
File length: 22009 byte(s)
Diff to previous 35074
Add getter for const ref of children list.
Needed for access in python scripts.

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: 21945 byte(s)
Diff to previous 33864
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 33864 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 14 09:47:19 2010 UTC (4 years, 7 months ago) by matevz
File length: 21660 byte(s)
Diff to previous 33135
Merge the following revisions from the fireworks branch:
33631, 33666, 33668, 33690, 33700, 33701, 33702, 33704, 33751, 33753,
33767, 33770, 33774, 33787, 33789, 33790, 33791, 33792, 33796, 33798,
33804, 33817, 33823, 33825

gl/:
----
- extensions for transparency handling in TGLUtil;
- allow disabling of internal viewer selection;
- allow fixing of default camera center;
- fix global light placement -- it was only correct for XoZ floor or
  when scene center was at the origin.

eve/:
-----
- propagation of main transparency to projected replicas and to
  compound members;
- when projecting TEveStraightLineSet in RhoZ, break lines crossing
  the separating plane (required change of internal representation);
- anti-flickering support for TEveBoxSet;
- proper multiple-selection handling in TEveCalo classes;
- small new features, bug fixes in TEveCalo classes.


33631
=====

Author: alja
Date: Fri May 28 12:50:27 2010
New Revision: 33631

URL: http://root.cern.ch/viewvc?rev=33631&root=root&view=rev
Log:
Fix bug in tool tip.

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


33666
=====

Author: matevz
Date: Mon May 31 13:41:54 2010
New Revision: 33666

URL: http://root.cern.ch/viewvc?rev=33666&root=root&view=rev
Log:
Propagate main transparency the same way as main color is propagated:

- from projectables to projecteds;

- in CopyVizParams();

- in TEveCompound to children depending on the following CSC bit settings:
   kCSCBApplyMainTransparencyToAllChildren
   kCSCBApplyMainTransparencyToMatchingChildren


In TEveElementList add member 'Bool_t fDoTransparency' (analoguous to
fDoColor).

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


33668
=====

Author: matevz
Date: Mon May 31 15:44:20 2010
New Revision: 33668

URL: http://root.cern.ch/viewvc?rev=33668&root=root&view=rev
Log:
In TEveelement introduce Bool_t members fCanEditMainColor and
fCanEditMainTransparency. The corresponding base-class functions now
return the value of these data members.

In most sub-classes that require editng of main color and transparency
it was now enough to set these data-members to kTRUE in constructors.

Further, this allows per object setting of color / transparency
editability via:
   void SetEditMainColor(Bool_t);
   void SetEditMainTransparency(Bool_t);

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveArrow.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
    branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveText.h
    branches/dev/fireworks/graf3d/eve/src/TEveArrow.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveGeoShape.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveShape.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveText.cxx


33690
=====

Author: matevz
Date: Tue Jun  1 13:07:46 2010
New Revision: 33690

URL: http://root.cern.ch/viewvc?rev=33690&root=root&view=rev
Log:
Add transparency argument to TGLUtil:
   RenderPolyMarkers(...)
   RenderPolyLine(...)

In eve/ use Char_t for transparency (as it is in gl/).
Until now UChar_t was used in eve/.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCaloLegoOverlay.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCompound.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/TEveProjectionBases.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTriangleSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveUtil.h
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoEditor.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoOverlay.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCaloVizEditor.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCompound.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveElementEditor.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveGeoNode.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveLineGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveRGBAPalette.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveUtil.cxx
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
    branches/dev/fireworks/graf3d/gl/src/TPointSet3DGL.cxx


33700
=====

Author: matevz
Date: Tue Jun  1 18:55:06 2010
New Revision: 33700

URL: http://root.cern.ch/viewvc?rev=33700&root=root&view=rev
Log:
Do not overload TGLUtil::Color() for setting alpha and transparency --
name the functions ColorAlpha() and ColorTransparency().

In TEveStraightLineSetGL pass main-transparency also as transparency
of the marker.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/src/TGLPhysicalShape.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx


33701
=====

Author: matevz
Date: Tue Jun  1 20:36:47 2010
New Revision: 33701

URL: http://root.cern.ch/viewvc?rev=33701&root=root&view=rev
Log:
TEveProjections:
- Add virtual function
    BisectBreakPoint(TEveVector& vL, TEveVector& vR, Float_t eps_sqr=1e-10f);
  that find both edges of a segment that is split over two
  non-contiguous space-regions.

TEveStraightLineSet:
- Handle breaking of each line segment in a projection and create two
  separate parts.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
    branches/dev/fireworks/graf3d/eve/inc/TEveStraightLineSet.h
    branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx


33702
=====

Author: matevz
Date: Tue Jun  1 21:18:54 2010
New Revision: 33702

URL: http://root.cern.ch/viewvc?rev=33702&root=root&view=rev
Log:
Simplify internal representation of marker in a line-set.

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


33704
=====

Author: matevz
Date: Tue Jun  1 21:28:27 2010
New Revision: 33704

URL: http://root.cern.ch/viewvc?rev=33704&root=root&view=rev
Log:
Remove unused variable.

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


33751
=====

Author: matevz
Date: Fri Jun  4 16:14:12 2010
New Revision: 33751

URL: http://root.cern.ch/viewvc?rev=33751&root=root&view=rev
Log:
Small fixes for track rendering.

TEveTrack
- Implement virtual ComputeBBox() to include path-mark positions in
  the bounding box calculation.

TEveTrackGL
- Number of visible path-marks was computed wrongly.

TEvePointSet
- Remove virtual ComputeBBox() -- it was just calling the base-class
  version.

TPointSet3D
- Simplify ComputeBBox().

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
    branches/dev/fireworks/graf3d/eve/src/TEvePointSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
    branches/dev/fireworks/graf3d/g3d/src/TPointSet3D.cxx


33753
=====

Author: matevz
Date: Fri Jun  4 16:45:38 2010
New Revision: 33753

URL: http://root.cern.ch/viewvc?rev=33753&root=root&view=rev
Log:
Move anti-flickering flag from TEveQuadSet to TEveDigitSet.
Implement it in TEveBoxSet-GL rendering, too.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveQuadSet.h
    branches/dev/fireworks/graf3d/eve/src/TEveBoxSetGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveQuadSet.cxx


33767
=====

Author: alja
Date: Mon Jun  7 19:49:03 2010
New Revision: 33767

URL: http://root.cern.ch/viewvc?rev=33767&root=root&view=rev
Log:
In TEveCaloDataVec add interface to add new slice and getters to read slice values and cell geometry.

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


33770
=====

Author: matevz
Date: Tue Jun  8 11:54:09 2010
New Revision: 33770

URL: http://root.cern.ch/viewvc?rev=33770&root=root&view=rev
Log:
Take the right fP for point-array when calculating bounding-box.

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


33774
=====

Author: alja
Date: Tue Jun  8 13:09:52 2010
New Revision: 33774

URL: http://root.cern.ch/viewvc?rev=33774&root=root&view=rev
Log:
TEveCaloLegoGL:
Fix picking in  kValSizeOutline mode.

TEveCaloLegoEditor:
Fix last enum in 2D mode entry.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoEditor.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx


33787
=====

Author: matevz
Date: Tue Jun  8 18:24:27 2010
New Revision: 33787

URL: http://root.cern.ch/viewvc?rev=33787&root=root&view=rev
Log:
Fix invalid iterator access reported by valgrind.

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


33789
=====

Author: matevz
Date: Tue Jun  8 19:08:23 2010
New Revision: 33789

URL: http://root.cern.ch/viewvc?rev=33789&root=root&view=rev
Log:
Fix another invalid iterator access reported by valgrind.

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


33790
=====

Author: alja
Date: Tue Jun  8 19:51:15 2010
New Revision: 33790

URL: http://root.cern.ch/viewvc?rev=33790&root=root&view=rev
Log:
Bugfix:: In TEveCaloDataVec::AddSlice initalise vector of tower values.

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


33791
=====

Author: matevz
Date: Tue Jun  8 22:31:00 2010
New Revision: 33791

URL: http://root.cern.ch/viewvc?rev=33791&root=root&view=rev
Log:
Add flag allowing to disable internal GL-viewer selection.
To disable it call:
  handler->SetDoInternalSelection(kFALSE);

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLEventHandler.h
    branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx


33792
=====

Author: matevz
Date: Tue Jun  8 23:08:09 2010
New Revision: 33792

URL: http://root.cern.ch/viewvc?rev=33792&root=root&view=rev
Log:
Add option to fix the default camera center.
To activate, call:
  camera->SetFixDefCenterVec(x, y, z);
  camera->SetFixDefCenter(kTRUE);
This will take effect on next camera reset.
External center still overrides the setting.

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLCamera.h
    branches/dev/fireworks/graf3d/gl/src/TGLCamera.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLOrthoCamera.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLPerspectiveCamera.cxx


33796
=====

Author: alja
Date: Wed Jun  9 12:51:06 2010
New Revision: 33796

URL: http://root.cern.ch/viewvc?rev=33796&root=root&view=rev
Log:
Fix bug in redering of selected cells in case cells are highlighted the same time.

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


33798
=====

Author: matevz
Date: Wed Jun  9 15:28:30 2010
New Revision: 33798

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

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


33804
=====

Author: matevz
Date: Wed Jun  9 20:49:33 2010
New Revision: 33804

URL: http://root.cern.ch/viewvc?rev=33804&root=root&view=rev
Log:
Use central function TEveCaloData::ProcessSelection(...) to process
(multiple secondary) selection from all GL renderers (3D, 2D and
Lego).

Fix rendering of non-rebinned lego for multiple selection.

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


33817
=====

Author: matevz
Date: Thu Jun 10 15:31:17 2010
New Revision: 33817

URL: http://root.cern.ch/viewvc?rev=33817&root=root&view=rev
Log:
Do not redraw if the widget is not mapped.

Add option to block redraw in UpdateScene().

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLViewer.h
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx


33823
=====

Author: matevz
Date: Thu Jun 10 16:25:59 2010
New Revision: 33823

URL: http://root.cern.ch/viewvc?rev=33823&root=root&view=rev
Log:
Fix placement of global lights.

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


33825
=====

Author: matevz
Date: Thu Jun 10 16:47:54 2010
New Revision: 33825

URL: http://root.cern.ch/viewvc?rev=33825&root=root&view=rev
Log:
Hide tooltip on key event.

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

Revision 33135 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 10:36:40 2010 UTC (4 years, 9 months ago) by matevz
File length: 20833 byte(s)
Diff to previous 33124
Merge rev 33104 from fireworks branch.

Original Log:

Author: matevz
Date: Tue Apr 20 12:57:10 2010
New Revision: 33104

URL: http://root.cern.ch/viewvc?rev=33104&root=root&view=rev
Log:
Rename ColorSelectionBits to CompoundColorSelectionBits.

Limit all extended operations to compounds and to parents that are
compounds.

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: 20721 byte(s)
Diff to previous 33071
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 33071 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 16 16:34:39 2010 UTC (4 years, 9 months ago) by matevz
File length: 20574 byte(s)
Diff to previous 33062
* TEveProjectionBases
  Make TEveProjected::SetDepthLocal() non-abstract and set member
  fDepth in the base-class implementation.

* TEveElementListProjected, TEveCompoundProjected
  Remove wrong implementations of SetDepthLocal() - fDepth was not
  set.

* TEveBoxProjected
  Use SetDepthCommon() from SetDepthLocal().

Revision 33062 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 16 11:01:32 2010 UTC (4 years, 9 months ago) by matevz
File length: 20629 byte(s)
Diff to previous 33037
* TEveElement -- Extensions for configurable selection / highlight /
  color propagation. The following options can be activated:

  - ImplySelectAllChildren() - to highlight / imply-select all
    children of an element;

  - TakeAnyParentAsMaster() - to upwards propagate mouse-selection to
    any parent;

  - ApplyMainColorToAllChildren() / ApplyMainColorToMatchingChildren()
    to request color propagation to children.

  Modified FillImpliedSelectedSet(), GetMaster() and SetMainColor()
  accordingly.

* TEveCompound::FillImpliedSelectedSet()
  Only forward call to children when they are not in the set yet.

Revision 33037 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 15 13:58:19 2010 UTC (4 years, 9 months ago) by matevz
File length: 19604 byte(s)
Diff to previous 32528
* TEveElement: Add function
    virtual void ProjectAllChildren(Bool_t same_depth=kTRUE);
  that allows all children of given element to be project into the
  same projected views where this element is existing.

* TEveProjectionManager: Add function:
    virtual Int_t SubImportChildren(TEveElement* el, TEveElement* proj_parent);
  that implements the above operation for a single projection.

Revision 32528 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 10 17:02:54 2010 UTC (4 years, 10 months ago) by matevz
File length: 19543 byte(s)
Diff to previous 32478
Add support for projections of elements with non-trivial transformation
matrix. This works for TEvePointSet, TEveLine, TEveTrack and TEveBox.
It was already working for TEveGeoShape before.

Add class TEveBoxProjected and its GL-rendering class.

Add class TEvePoint -- 2D float point.

Implement 2D convex-hull search in static method
  TEveShape::FindConvexHull().

Use ClassDefNV for TEveVector, TEvePoint and TEvePathMark classes.

Consistently include "Riostream.h".

Revision 32478 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 5 14:20:48 2010 UTC (4 years, 10 months ago) by matevz
File length: 19524 byte(s)
Diff to previous 32462
* TEveElement
  Introduce new function
    virtual void PaintStandard(TObject* id);
  that contains common code cut-n-pasted in Paint() method of several
  EVE classes. Many of them now simply call this method.
  Many includes became unnecessary and were removed in the processes.

* TEveShape
* TEvePolygonSetProjected
  TEveShape is a new abstract base-class for 2D/3D shapes that require
  fill color and outline color / line-width.
  This was extracted from TEvePolygonSetProjected class.
  TEvePolygonSetProjectedEditor was removed -- all functionality is in
  TEveShapeEditor.

All other changes are just simplifactions of the Paint() method.

Revision 32462 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 4 14:53:19 2010 UTC (4 years, 10 months ago) by matevz
File length: 19476 byte(s)
Diff to previous 32440
Add methods that allow implied selection and highlight to be updated
after new elements are added to compound or projections.

* TEveElement
  Add method:
    void RecheckImpliedSelections();

* TEveSelection
  Add methods:
    void RecheckImpliedSet(SelMap_i& smi);
    void RecheckImpliedSetForElement(TEveElement* el);

Revision 32440 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 2 14:43:43 2010 UTC (4 years, 10 months ago) by matevz
File length: 19439 byte(s)
Diff to previous 32430
Add support for projecting a new child of an element after the element
and its old children have already been projected. This is provided by:
  void TEveElement::ProjectChild(TEveElement* el, Bool_t sameDepth);

* TEveElement
  Add method:
    virtual void ProjectChild(TEveElement* el, Bool_t  sameDepth=kTRUE);

* TEveProjectionManager
  Add method:
    virtual TEveElement* SubImportElements(TEveElement* el, TEveElement* proj_parent);

* TEveProjectable:
  Add methods Begin/EndProjectects() to allow iteration over existing
  projected replicas.

* TEveProjected:
  Add getters GetManager() and GetDepth().

Revision 32430 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 1 19:36:24 2010 UTC (4 years, 10 months ago) by matevz
File length: 19366 byte(s)
Diff to previous 31234
Fix issues reported by Alex Finch.

1. When elements having children were added to the list-tree, the children were
   not added into the list tree and the '+' sign did not appear.

2. Icon used for TEveLine is inhereted from TEvePointSet and causes confusion.
   TEveLine has it's own icon now.

Revision 31234 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 17 14:57:10 2009 UTC (5 years, 2 months ago) by matevz
File length: 19366 byte(s)
Diff to previous 31215
In WriteVizParams(), when outputing a bool to ostream, it happened
that '^@' or '^A' were printed out. To bypass that and properly output
"kTRUE" or "kFALSE" a new protected static function:
  const char* TEveElement::ToString(Bool_t b)
has been introduced.

This is then used wherever appropriate.

Revision 31215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 16 19:20:20 2009 UTC (5 years, 2 months ago) by matevz
File length: 19323 byte(s)
Diff to previous 31065
Move implementation of several inline functions to cxx file.

In VizDB_Apply() and VizDB_Reapply() (*MENU* functions) also propagate
the changes to projected elements.

Revision 31065 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 10 15:14:22 2009 UTC (5 years, 2 months ago) by matevz
File length: 19895 byte(s)
Diff to previous 30891
From Bertrand: Check validity (size) of fChildren in FirstChild() and LastChild() to avoid potential crash on Windows.

Revision 30891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 27 19:28:36 2009 UTC (5 years, 2 months ago) by matevz
File length: 19847 byte(s)
Diff to previous 30865
TEveElement
- add virtual TEveElement* ForwardEdit();
- make virtual ForwardSelection() non-const.

TEveSelection & TEveViewerList
- make Clicked / ReClicked / UnClicked functions and corresponding
  signals symmetric.

TEveCalo
 - implement ForwardEdit() to keep editor on concrete calo-viz object.

Revision 30865 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 26 09:33:18 2009 UTC (5 years, 2 months ago) by matevz
File length: 19814 byte(s)
Diff to previous 30840
Add missing short description of TEveElementListProjected class.

Revision 30840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 23 09:03:14 2009 UTC (5 years, 3 months ago) by matevz
File length: 19784 byte(s)
Diff to previous 30819
Add support for 3D -> 3D projections. This also allows for
scaling (compression/extension) of certain space region as required by
NA62 to show the 200m long detector in a meaningful way.

Several generalizations of the projection infrastructure were
required:

1. TEveProjectable::ProjectedClass() takes an argument:
     virtual TClass* ProjectedClass(const TEveProjection* p) const = 0;
   thus allowing different projected classes for different projections.

2. All TEveProjection::ProjectPoint/Vector(...) functions have an
   additional "depth" argument thus allowing the projected classes to
   skip explicit setting of depth after the point has been projected
   -- this could damage the 3rd component.

   Pre-scaling now supports 3 dimensions.

3. Abstract TEveProjected::SetDepth() has been split into two parts:
   a) It has been implemented in the base class where it checks for
      the projection type (2d) before calling the local function;
   b) Abstract SetDepthLocal() has been added to provide the same
      functionality.
   This allows for the 2d/3d check to be done in place only.

4. New projection class has been introduced: TEve3DProjection.
   It performs pre-scaling and offsets the center.

5. To simplify the projection of lists TEveElementList has been made
   projectable and corresponding TEveElementListProjected class
   introduced. This also fixed the problem with render-state not being
   propagated to projected classes.
   The check whether to project a sub-tree of elements is still performed.

6. TEveGeoShapeProjected has been introduced to represent the 3D
   projection of a TEveGeoShape (2D projection is handled by
   TEvePolygonSetProjected).

   Points, lines and tracks use the same projected class for both 2D
   and 3D projections.

An example showing this functionality has been added as a new tab in
tutorials/eve/projection_prescale.C.

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: 18917 byte(s)
Diff to previous 29499
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 29499 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 16 16:51:38 2009 UTC (5 years, 6 months ago) by matevz
File length: 18815 byte(s)
Diff to previous 27577
- TEveElement: add 'virtual Bool_t GetRnrAnything()' to facilitate
  painting traversal.

- TEveScene: add support for hierarchical scenes. By setting the
  fHierarchical flag, positions of children get calculated by
  multiplying the transformation matrices of all parents within the
  scene.

- hierarchical_scene.C: demo of a hierarchical scene.

Revision 27577 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 23 14:34:36 2009 UTC (5 years, 11 months ago) by matevz
File length: 18718 byte(s)
Diff to previous 27157
TEveElement
===========
Add the following *MENU* functions:
  DumpSourceObject()
  PrintSourceObject()
  ExportSourceObjectToCINT()
This allows direct interaction with the original object being
represented by the EVE-element.

TGLViewer, TGLEventHandler and TGLViewerEditor
==============================================
Add button to enter into the "Annotation" pick-mode.
Add methods allowing easy deletion of all annotations.

tutorials/eve/alice_esd.C
=========================
Remove annotations when loading a new event.

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: 18512 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: 18544 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: 18289 byte(s)
Diff to previous 26367
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 26367 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 21 18:08:30 2008 UTC (6 years, 2 months ago) by matevz
File length: 18164 byte(s)
Diff to previous 26212
Merge revisions 26280:26327 from the fireworks branch.

26281
=====
- TGLScenePad: replace static variable with a data-member. Fix comments.

26304
=====
- TEveProjectionAxesGL: fix index out of bounds error reported by valgrind.

26306
=====
- TGLScene, TGLScenePad: better comments, consistent whitespace.
- TEveElement: add method DestroyOrWarn(): original Destroy() method is exception throwing.
- TEveScene: delete GL-scene and pad in destructor; add ownership information to class-docs.
- TEveSceneList: add method DestroyScenes().
- TEveViewer: add ownership information to class-docs.
- TEveManager: delete scenes, scene-list, viewers and viewer-list in destructor.

26325
=====
TEveTrackPropagator: implement the following overrides of virtual functions:
 - TEveElement::CheckReferenceCount() - take into account references from TEveRefBackPtr;
 - TEveRefBackPtr::OnZeroRefCount()   - call CheckReferenceCount().

26327
=====
Remove trailing whitespace in eve/ and gl/.

Revision 26212 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 14 17:53:57 2008 UTC (6 years, 2 months ago) by matevz
File length: 18131 byte(s)
Diff to previous 26168
Rename argument to CloneXyzzRecurse() functions from 'recurse' to more understandable 'level'.

Revision 26168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 12 21:21:29 2008 UTC (6 years, 2 months ago) by matevz
File length: 18135 byte(s)
Diff to previous 26089
g3d
===

TPolyMarker3D
-------------
- remove redundant cast in copy-ctor.

TPointSet3D
-----------
- implement copy-ctor, fix assign-op and make it public;
- fix class docs.


eve
===

TEveElement
-----------
- implement copy-ctor for TEveElement, TEveElementObjectPtr and TEveElementList;
- add virtual TEveElement* CloneElement() and implement it for the above classes;
- add virtual TEveElement* TEveElement::CloneElementRecurse(Int_t recurse);
- add virtual void TEveElement::CloneChildrenRecurse(TEveElement* dest, Int_t recurse) const.

TEvePointSet
------------
- implement copy-ctor and CloneElement() for TEvePointSet.


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

pointset_test.C
---------------
- add new test function pointset_test_hierarchy()
  only works in compiled mode;
- make the macro compilable.

Revision 26089 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 6 11:33:51 2008 UTC (6 years, 2 months ago) by matevz
File length: 17794 byte(s)
Diff to previous 26034
Add const versions of Begin/End|Parents/Children() returning const iterators.

Revision 26034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 31 14:01:05 2008 UTC (6 years, 2 months ago) by matevz
File length: 17401 byte(s)
Diff to previous 25245
TEveElement
-----------
Add 'UChar_t fMainTransparency' data-member and accessors.

TEveGeoNode
-----------
Properly override SetMainTransparency().
Do not allow color / transparency editing for TGeAssemblies.

TEveGeoNodeEditor
-----------------
Remove transparency controls - use the ones from base-classes.

TEveDigitSet
TEvePolygonSetProjected
-----------------------
Remove transparency member - use the one from TEveElement.

TEveStraightLineSet
TEveTriangleSet
-------------------
Use main-color & transparency in Paint().

TEveTrackEditor
---------------
Fix label string (replaced during migration to new class names).

TEveTriangleSetEditor
---------------------
Do not need explicit transformation editor - provided by base-class.
Show number of vertices and triangles.

tutorials/eve/view3ds.C
-----------------------
Set color & transparency with more appropriate functions.

Revision 25245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 25 21:44:09 2008 UTC (6 years, 4 months ago) by matevz
File length: 17262 byte(s)
Diff to previous 24449
Merge changes from the eve-dev branch (-r 25202:HEAD). This makes trunk up to date with all developments in eve/ and gl/. eve-dev branch is now obsolete and will be removed.

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: 17109 byte(s)
Diff to previous 24147
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 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: 16609 byte(s)
Diff to previous 24047
- 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 24047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 28 23:22:54 2008 UTC (6 years, 7 months ago) by matevz
File length: 16170 byte(s)
Diff to previous 24004
- TEveElement
  Add member 'TEveElement *fVizModel' that points to VizDB entry used
  for determination of element's visual properties.
  When setting the VizModel add it as a child to the model-element.
  This will allow for two-way communication between client and model
  elements.

- TEveManager
  When adding a model-element into VizDB increase its deny-destroy
  count. Use Destroy() not direct delete when removing it.

- TEvePolygonSetProjected
  - Override TEveElement::SetMainColor() so that we can keep line and
    fill colors in sync if this is desired.
  - Remove SetLine/FillColor(Pixel_t).

- TEveGeoNode
  Add some info and warning messages for unexpected conditions (which
  I now suspect might actually happen in some rare cases).

Revision 24004 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 24 20:08:56 2008 UTC (6 years, 8 months ago) by matevz
File length: 15956 byte(s)
Diff to previous 24001
Implement virtual method TEveElement::CopyVizParams(element) for the
following classes: TEvePointSet, TEveLine, TEveTrack, TEveTrackList
and TEveStraightLineSet.

Implemented TEveProjectable::PropagateVizParams().

In TEveGedEditor::Update() call PropagateVizParamsToProjecteds() so
that all representation of given element receive the potential
updates.

Revision 24001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 23 20:58:14 2008 UTC (6 years, 8 months ago) by matevz
File length: 15944 byte(s)
Diff to previous 23979
Optimize updates of element visibility by introducing a new stamp-type
and preprocessing the changed elements in TEveManager::DoRedraw3D().

Make TEveElement::AddStamp() virtual. This allows sub-classes to react
to different changes within the element.
This also simplifes handling of visibility for TEveGeoNode and
TEveSceneInfo.

TEveProjection manager properly maintains compound-element relation.

Finalize propagation of visibility and color from compounds to
compound elements and from projectables to projecteds.

Add three new selection propagation modes (compound, compound and
projectable, master).

Remove obsolete method TEveElement::UpdateItems() and all its
incarnations.

Replace asserts in TEveTrackPropagator::HelixToBounds() with a warning
as this case can actually occur due to numerical errors for tracks with
pZ close to zero.

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: 15846 byte(s)
Diff to previous 23896
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 23896 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 18 17:42:32 2008 UTC (6 years, 8 months ago) by matevz
File length: 15203 byte(s)
Diff to previous 23866
Cleanup method-names for setting colors so that the cast of argument
to Color_t is not needed.

Revision 23866 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 15 18:49:57 2008 UTC (6 years, 8 months ago) by matevz
File length: 15060 byte(s)
Diff to previous 23140
Support for compound elements. Only basic management implemented so far.

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: 14634 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/TEveElement.h
File length: 14634 byte(s)
Diff to previous 21794
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 21794 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 21 21:11:46 2008 UTC (7 years ago) by matevz
Original Path: trunk/eve/inc/TEveElement.h
File length: 10560 byte(s)
Diff to previous 21565
Fix effc++ warnings.
Whitespace.

Revision 21565 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 28 12:28:46 2007 UTC (7 years ago) by brun
Original Path: trunk/eve/inc/TEveElement.h
File length: 10402 byte(s)
Diff to previous 21534
Functions referencing a static global cannot be inlined.

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/TEveElement.h
File length: 10432 byte(s)
Diff to previous 21310
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 21310 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 10 19:05:45 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveElement.h
File length: 10312 byte(s)
Diff to previous 21054
Fix coding convention 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/TEveElement.h
File length: 10314 byte(s)
Diff to previous 21044
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 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/TEveElement.h
File length: 10314 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