[root] / trunk / graf3d / gl / src / TGLEventHandler.cxx Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/src/TGLEventHandler.cxx

Parent Directory Parent Directory


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

Revision 47218 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 13 08:22:39 2012 UTC (2 years, 2 months ago) by tpochep
File length: 36064 byte(s)
Diff to previous 47100
Coverity fix (from Bertrand).

Revision 47100 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 7 11:44:33 2012 UTC (2 years, 2 months ago) by matevz
File length: 35959 byte(s)
Diff to previous 47099
Include RConfigure.h.

Revision 47099 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 7 11:33:30 2012 UTC (2 years, 2 months ago) by matevz
File length: 35929 byte(s)
Diff to previous 47027
On osx/cocoa use cmd modifier for mouse-2 and cmd-alt for mouse-3.
These are used for view panning and camera fwd/bkwd movement.

Revision 47027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 4 06:17:34 2012 UTC (2 years, 2 months ago) by matevz
File length: 35680 byte(s)
Diff to previous 44693
Add support for mac retina display. In practice it means we need to support a
scaled coordinate system within GL windows. We use full resolution in GL while
GUI and window system work in points that are 2x2 pixels.

Revision 44693 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 14 18:53:13 2012 UTC (2 years, 7 months ago) by matevz
File length: 34992 byte(s)
Diff to previous 42996
Implement arc-ball camera rotation. Use the 'a' key to switch between the
standard (up-direction fixed) and arc-ball rotation modes.

* TGLCamera
  Add functions RotateArcBall() and RotateArcBallRad().
  Add member 'Bool_t fWasArBalled'. Check its state in standard Rotate
  function and fix up direction if needed.

* TGLOrthoCamera, TGLPerspectiveCamera
  Use combined view matrix's third vector as the up direction.

* TGLEventHandler
  Add arc-ball state variable and key-handling.
  Add logic for calling std vs arc-ball camera rotate function.

* TGLSAViewer
  Document arc-ball key binding in help text.

Revision 42996 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 14 10:19:53 2012 UTC (2 years, 11 months ago) by axel
File length: 34743 byte(s)
Diff to previous 42974
remove unused vars.

Revision 42974 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 12 07:22:45 2012 UTC (2 years, 11 months ago) by matevz
File length: 34806 byte(s)
Diff to previous 42721
Generalize selection handling for scenes:
- By adding TGLLogicalShape* to TGLSelectRecord the scene sub-classes now have
  the ability to lie pretty badly to TGLEventHandler about what actually got
  selected and thus achieve great flexibility in managment of scenesobject
  collections that do not conform to standard ROOT / EVE / TPad paradigms.

Generalize rendering order and selection/highlight handling.
- Rendering order of opaque/transparent and non-selected/selected objects can
  be set via TGLRnrCtx::RenderOrder(), enum ERenderOrder.
- Selection of transparent objects via TGLRnrCtx::SelectTransparents(), enum
  ESelectabilityOfTransparents.
- Rendering of highlight halo can be controlled via:
  - TGLRnrCtx::SetHighlightDepthRangeOffset(Float_t);
  - TGLRnrCtx::SetHighlightedObjectDepthRangeOffset(Float_t);
  This should really be rewritten either to use stencil buffer or shaders.

Revision 42721 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 19 10:28:36 2012 UTC (3 years ago) by axel
File length: 34860 byte(s)
Diff to previous 34337
From Bertrand: Fix coverity report #36607: Uninitialized scalar variable

Revision 34337 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 6 10:20:38 2010 UTC (4 years, 6 months ago) by matevz
File length: 34750 byte(s)
Diff to previous 34245
TGLWidget - Also request key-release events from X.

TGLEventHandler - In HandleKey() only process key-press events.

Revision 34245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 13:36:29 2010 UTC (4 years, 6 months ago) by brun
File length: 34654 byte(s)
Diff to previous 34006
Fix format in warning and error statements

Revision 34006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 21 10:36:05 2010 UTC (4 years, 7 months ago) by matevz
File length: 34653 byte(s)
Diff to previous 33959
Merge the following revisions from branches/dev/fireworks:
33974, 33980, 33983, 33984, 33994


33974
=====

Author: alja
Date: Thu Jun 17 22:12:00 2010
New Revision: 33974

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

TEveCaloLegoGL:
Fix picking of rebinned 3D towers.

TEveCalo3DGL:
Fix highlight rendering.

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


33980
=====

Author: matevz
Date: Fri Jun 18 18:30:34 2010
New Revision: 33980

URL: http://root.cern.ch/viewvc?rev=33980&root=root&view=rev
Log:
* TGLOverlayElement
  Add state enum member to allow:
  - hiding of overlay elements;
  - preventing overlay events to reach them.
  TGLViewerBase::RenderOverlay() not takes bitfield of states that
  should be drawn.

* TGLCameraGuide
  New overlay element showing axis orientation.

* TGLRnrCtx
  Introduce standard functions to setup projection matrix for 2D /
  screen based operations and properly applying the selection matrix
  when it is active, too:
    void ProjectionMatrixPushIdentity();
    void ProjectionMatrixPop();

* TGLUtil
  Cleanup usage of static float arrays in surroundings of TGLUtil.

Added:
    branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h   (with props)
    branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx   (with props)
Modified:
    branches/dev/fireworks/graf3d/gl/inc/LinkDef.h
    branches/dev/fireworks/graf3d/gl/inc/TGLCamera.h
    branches/dev/fireworks/graf3d/gl/inc/TGLManip.h
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h
    branches/dev/fireworks/graf3d/gl/inc/TGLRnrCtx.h
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/inc/TGLViewerBase.h
    branches/dev/fireworks/graf3d/gl/src/TGLAnnotation.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLLightSet.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRnrCtx.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRotateManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLScaleManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLTransManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx

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

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

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

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


33983
=====

Author: matevz
Date: Fri Jun 18 19:19:47 2010
New Revision: 33983

URL: http://root.cern.ch/viewvc?rev=33983&root=root&view=rev
Log:
Add on/off state setter void SetBinaryState(Bool_t).

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h


33984
=====

Author: matevz
Date: Fri Jun 18 19:35:51 2010
New Revision: 33984

URL: http://root.cern.ch/viewvc?rev=33984&root=root&view=rev
Log:
Replace logical and with binary one.

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


33994
=====

Author: matevz
Date: Sat Jun 19 14:09:04 2010
New Revision: 33994

URL: http://root.cern.ch/viewvc?rev=33994&root=root&view=rev
Log:
Add 3 new data-members to control mouse/arrow key handling:
   Float_t           fArrowKeyFactor;
   Float_t           fMouseDragFactor;
   Float_t           fMouseWheelFactor;

These are take from rootrc, eg:
OpenGL.EventHandler.ViewerCentricControls:  1
OpenGL.EventHandler.ArrowKeyFactor:        -1.0
OpenGL.EventHandler.MouseDragFactor:       -1.0
OpenGL.EventHandler.MouseWheelFactor:      -1.0

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

Revision 33959 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 17 11:48:20 2010 UTC (4 years, 7 months ago) by matevz
File length: 34083 byte(s)
Diff to previous 33955
Do forced debug update on D, not on space.

Revision 33955 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 17 11:33:13 2010 UTC (4 years, 7 months ago) by matevz
File length: 34109 byte(s)
Diff to previous 33864
Merge the following revisions from the fireworks branch:
33909, 33913, 33914, 33916, 33922, 33924, 33925, 33932


33909
=====

Author: matevz
Date: Tue Jun 15 13:05:07 2010
New Revision: 33909

URL: http://root.cern.ch/viewvc?rev=33909&root=root&view=rev
Log:
Add option to switch from scene-centric to viewer-centric controls.
To switch from default, put this into ~/.rootrc:

OpenGL.EventHandler.ViewerCentricControls: 1

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


33913
=====

Author: matevz
Date: Tue Jun 15 15:41:44 2010
New Revision: 33913

URL: http://root.cern.ch/viewvc?rev=33913&root=root&view=rev
Log:
Add help about viewer-centric controls.

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


33914
=====

Author: matevz
Date: Tue Jun 15 15:44:08 2010
New Revision: 33914

URL: http://root.cern.ch/viewvc?rev=33914&root=root&view=rev
Log:
Fix help text line endings.

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


33916
=====

Author: matevz
Date: Tue Jun 15 16:24:37 2010
New Revision: 33916

URL: http://root.cern.ch/viewvc?rev=33916&root=root&view=rev
Log:
* TEveLineGL
  Do not disable blending if it was enabled form outside, only enforce
  it if smooth line-drawing is requested.

* TGLUtil
  Add helper class TGLCapabilityEnabler -- it makes sure certain
  capability is enabled if the required state is true.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveLineGL.cxx
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx


33922
=====

Author: matevz
Date: Tue Jun 15 17:14:26 2010
New Revision: 33922

URL: http://root.cern.ch/viewvc?rev=33922&root=root&view=rev
Log:
In SetProjection() use CopyVizParams() to propagate visual parameters to projected replicas -- where it makes sense (everywhere but TEvePolgonSetProjected).

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveGeoShape.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveLine.cxx
    branches/dev/fireworks/graf3d/eve/src/TEvePointSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSet.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx


33924
=====

Author: matevz
Date: Tue Jun 15 17:27:52 2010
New Revision: 33924

URL: http://root.cern.ch/viewvc?rev=33924&root=root&view=rev
Log:
Remove unnecessary function in TGLCapabilityEnabler.

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


33925
=====

Author: matevz
Date: Tue Jun 15 17:28:28 2010
New Revision: 33925

URL: http://root.cern.ch/viewvc?rev=33925&root=root&view=rev
Log:
Fix overriding of smoothness (as in TEveLineGL before).

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


33932
=====

Author: alja
Date: Tue Jun 15 20:17:06 2010
New Revision: 33932

URL: http://root.cern.ch/viewvc?rev=33932&root=root&view=rev
Log:
Add transparency parameter to slice info.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCaloData.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCaloVizEditor.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
    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
    branches/dev/fireworks/graf3d/eve/src/TEveCaloVizEditor.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: 33812 byte(s)
Diff to previous 33150
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 33150 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 23 06:55:11 2010 UTC (4 years, 9 months ago) by brun
File length: 33712 byte(s)
Diff to previous 33147
Fix compilation warning on Windows

Revision 33147 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 16:47:08 2010 UTC (4 years, 9 months ago) by matevz
File length: 33711 byte(s)
Diff to previous 33144
Move rather complex logic for doing GL-picking into two protected
functions:
   virtual void SelectForClicked(Event_t *event);
   virtual void SelectForMouseOver();
This makes it easier for sub-classes to reuse the functionality.

Revision 33144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 13:50:08 2010 UTC (4 years, 9 months ago) by matevz
File length: 33590 byte(s)
Diff to previous 33124
Add function:
   virtual void PopupContextMenu(TGLPhysicalShape* pshp, Int_t ev_state, Int_t gx, Int_t gy);
to make it easier to override context-menu in sub-classes.

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: 33511 byte(s)
Diff to previous 32831
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 32831 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 30 08:25:25 2010 UTC (4 years, 9 months ago) by matevz
File length: 33348 byte(s)
Diff to previous 31301
Switch camera center between automatic/manual on Ctrl-Home.

Revision 31301 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 18 22:45:34 2009 UTC (5 years, 2 months ago) by matevz
File length: 33102 byte(s)
Diff to previous 31299
* Introduce Grab/UnGrabMouse() functions.

* Ungrab-mouse before creating a context-menu.

* Also check for mouse button > 3 in HandleDoubleclick().

Revision 31299 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 18 21:06:28 2009 UTC (5 years, 2 months ago) by matevz
File length: 32742 byte(s)
Diff to previous 31017
Several small cleanups and improvements.

TGLViewer and sub-classes:
- Improve help text for TGLViewer ("Help on GL viewer").
- Add support for menu-bar hiding in TGLSAViewer.
- Allow TGLEmbeddedViewer to be connected to a GED editor.
- Remove support for "camera home" on double click -- show GED editor
  of the viewer instead.

TGLEventHandler:
- Improve handling of mouse-button events:
  - Only allow single button activity at the same time.
  - Remove function-static variables.

TEveViewer:
- Enable by default menu-bar hiding for GL viewers.

Revision 31017 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 6 18:03:04 2009 UTC (5 years, 2 months ago) by matevz
File length: 32628 byte(s)
Diff to previous 31016
Suppress Clicked() events by introducing data member Bool_t fIgnoreButtonUp.

Revision 31016 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 6 17:39:41 2009 UTC (5 years, 2 months ago) by matevz
File length: 32542 byte(s)
Diff to previous 30886
* TEveArrow
  Add setter for number of segments of a circle - SetDrawQuality(int).

* TGLEventHandler
  On Alt/Shift M1 down enable camera rotation.
  This prevents Clicked() signal to be emmitted on button release.

* compound.C
  Set projection type.

Revision 30886 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 27 13:37:11 2009 UTC (5 years, 2 months ago) by matevz
File length: 32393 byte(s)
Diff to previous 30855
From Alja.

geaf3d/gl:
In TGLSelectRecord add new member and type to define a result of TGLLogicalShape::ProcessSelection().
Handle this result in TGLEventHandler::HandleButton(). In TGLViewer emit "ReClick" signal 
if selection has changed only internally or emit "UnClicked" signal if secondary selection became empty. 

graf3d/eve:
Separate case when secondary selection has changed from case when primary selection has changed.
Add a new function TEveSelection::SelectionRepeated(), called when selection has changed only internally and
add TEveSelection::UserRePickedElement(), called when secondary selection was cleared.

Revision 30855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 23 16:45:07 2009 UTC (5 years, 3 months ago) by matevz
File length: 31764 byte(s)
Diff to previous 30819
graf3d/gl/src/TGLEventHandler.cxx:
graf3d/gl/src/TGLSelectRecord.cxx:
graf3d/gl/inc/TGLSelectRecord.h:
Add support for multiple second level selection.

graf3d/eve/src/TEveCalo.cxx:
Fix possible crash at exit: in destructor check array initialization.

graf3d/eve/src/TEveCalo3DGL.cxx
graf3d/eve/src/TEveCalo2DGL.cxx
graf3d/eve/src/TEveCaloLegoGL.cxx
graf3d/eve/inc/TEveCaloData.h
graf3d/eve/src/TEveCaloData.cxx
Enable succeding tower selection. Disable rendering of towers if calorimeter
object is highlighted.

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: 31938 byte(s)
Diff to previous 30811
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 30811 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 19 13:22:46 2009 UTC (5 years, 3 months ago) by matevz
File length: 31588 byte(s)
Diff to previous 30788
TGLViewer.cxx:
Rename member in enum ESecSelType from kAutomatic to kAlways.

TGLEventHandler, TGLLogicalShape:
Add an interface in TGLLogicalShape to define if secondary selection
is always active on mouse click.

Revision 30788 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 18 21:16:40 2009 UTC (5 years, 3 months ago) by matevz
File length: 31593 byte(s)
Diff to previous 30425
From Alja.

Generalize selection by completely separating first and second level
selection in viewer. The event handler can now call the selection
functions based on its internal state.

To be used for individual calorimeter tower selection, but useful for
all elements supporting secondary selection.

Revision 30425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 24 19:45:11 2009 UTC (5 years, 4 months ago) by matevz
File length: 30892 byte(s)
Diff to previous 30383
In all classes using FTGL fonts:
Consistently use integer for FTGL font size.

TGLEventHandler, TEveLegoEventHandler, TGLSAViewer,TGLEmbeddedViewer:
Change construnctor of TGLEventHandler and TEveLegoEventHandler.

Revision 30383 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 23 16:52:00 2009 UTC (5 years, 4 months ago) by matevz
File length: 30950 byte(s)
Diff to previous 28197
Merge two revisions from fworks brach.
Rename cms_calo.C to calorimeters.C.

30231:
TGLAnnotation:
Move annotation to front.
Delete/Edit annotation on button release instead of button press.

TGLEventHandler:
Add check for overlay element in HandleMotion().

30309: 
TEveViewer:
Fix a possible crash on DeleteWindow(). Delete event handler before deleting gl-viewer. 

TGLViewer:
Add a comment in  TGLViewer::SetEventHandler().

Revision 28197 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 14 13:59:27 2009 UTC (5 years, 9 months ago) by matevz
File length: 30910 byte(s)
Diff to previous 27577
Merge the following revisions from the fireworks branch:
  -r 27692:27867
  -c 27876
  -r 28012:28187

================================================================================
27693

TEveCalo:
Set bounding box when calo data empty.

TEveCaloLegoGL:
TGLAxisPainter:
Draw axis title in TGLAxisPainter::PaintAxis().

--------------------------------------------------------------------------------
27694

Forget to check-in this file in revision 27693.

--------------------------------------------------------------------------------
27695

Don't draw frame and call TGLAxisPainter::Paint() if calo data empty.

--------------------------------------------------------------------------------
27699

Fix issues reported by valgrind.

--------------------------------------------------------------------------------
27758

Return viewer in TEveViewer::SpawnGLViewer and TEveViewer::SpawnGLEmbeddedViewer().

--------------------------------------------------------------------------------
27767

Unset event handler when destroying TGLWidget. This is important in case destruction of TGLWidget is called with timeout.

--------------------------------------------------------------------------------
27840

Add possibility to create different icon boxes in
TEveCompositeFrame. Use static function pointer fgIconBarCreator to change default behavior.

Remove oboslete function TEveCompositeFrame::ReplaceIconBox().

--------------------------------------------------------------------------------
7856

Bug fix: Get font size calculating projected axis length at the Z-title position.

--------------------------------------------------------------------------------
27857

Move to real world coordinates. Add line-set for test.

--------------------------------------------------------------------------------
27867

TGLViewer:
  Add function:
    void ResetInitGL()
  This is needed if GL-context is destroyed from outside.

  Call it from derived classes when creating and destroying GL-widget.

--------------------------------------------------------------------------------
27876

In line set add possibility to disable depth test, i.e. draw lines/markers in front.

--------------------------------------------------------------------------------
28013

Fix memory leak in TEveCalo2D.


--------------------------------------------------------------------------------
28048

In HandleCrossing() ignore grab and ungrab events. Several window managers produce them nowadays (fvwm2, x-on-mac, sawfish).

--------------------------------------------------------------------------------
28050

Simplify macro.

--------------------------------------------------------------------------------
28106

URL: http://root.cern.ch/viewcvs?rev=28106&root=root&view=rev
Log:
Add data-members and accessors for controlling brightness of front,
side and speulcar lights.

--------------------------------------------------------------------------------
28114

TGLPShapeObjEditor
==================
Remove obsolete data-members and enum entries.

TGLUtil
=======
New class TGLColor - using this will simplify color management in
TGLViewer and TGLRnrCtx.

TEveUtil
========
Simplify implementation of TEveUtil::ColorFromIdx() functions.

--------------------------------------------------------------------------------
28144

Add dtor for TGLColor.

--------------------------------------------------------------------------------
28161

URL: http://root.cern.ch/viewcvs?rev=28161&root=root&view=rev
Log:
Extend window management demo.

--------------------------------------------------------------------------------
28162

Add support several GL color-sets - each defines colors for background,
foreground, outline, markup and for outlines of selected and
highlighted objects.


GL/
===

TGLUtil   - add new class TGLColorSet.

TGLRnrCtx - add color-set stack.

TGLViewer - create two color-sets by default - for light and dark
background. These can be switched with the 'e' key now.

TGLScene  - decrease polgon-offset for outline-mode fill-pass from (1,
1) to (0.5, 0.5) which is sufficient.

Use/support color-set functionality in other modified classes.


EVE/
====

TEvePolygonSetProjectedGL - skip outline pass.

TEveProjectionAxesGL - skip outline pass and slightly widen the depth
range so that the text is visible in outline mode, where
polygon-offset is applied during the fill-pass.

--------------------------------------------------------------------------------
28168

Add support for a global GL color-set shared among several (all)
viewers.

TGLViewer - add static data-members and functions to handle global
color-set. Add methods that allow switching between global/private
color-sets for a given viewer.

TGLViewerEditor - Disable backgound-color widget when the viewer uses
global color-set.

TGLCameraOverlay - use foreground color for some markup rendering.

In two tutorials use the new API for setting of the background color.

--------------------------------------------------------------------------------
28187

Put back the old method for setting background color and mark it as deprecated.

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: 31176 byte(s)
Diff to previous 27560
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 27560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 20 21:41:28 2009 UTC (5 years, 11 months ago) by matevz
File length: 31054 byte(s)
Diff to previous 27465
TGLAnnotation
-------------
New class for rendering of GL labels.
User has the possibility to chanage text, drag it or delete it.


TGLEventHandler
TGLViewer
---------------
Add annotation pick mode.


TGLFontManager
--------------
Add getters for font description.

Revision 27465 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 17 10:13:23 2009 UTC (5 years, 11 months ago) by matevz
File length: 30478 byte(s)
Diff to previous 26717
From Bertrand: Properly place object tooltips near screen edges.

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: 29971 byte(s)
Diff to previous 26367
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 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: 29970 byte(s)
Diff to previous 25950
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 25950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 24 21:34:34 2008 UTC (6 years, 3 months ago) by matevz
File length: 29971 byte(s)
Diff to previous 25245
TGLSceneBase, TGLScene, TGLSceneInfo
	Move 'Bool_t fUpdateTimeouted' from TGLScene to TGLSceneInfo.
	Remove	'Bool_t fForceUpdateSI from TGLSceneBase.
	This was potentialy wrong ... if a scene was put into several
	viewers.

TGLEventHandler
	When scrolling via mouse-wheel or resizing the viewing area
	call redraw via timer to group several events in a sequence
	into a single redraw.
	Avoid selection in handle-motion and in timer callback when a
	redraw is already pending.

TGLViewer
	Do not draw when viewing area's width or hight <= 1.

TGLWidget
	Pass configure-notify event to TGFrame as well.

alice_esd_split.C
	Do not resize to almost-full-screen as it doesn't work with
	multi-screen displays (can pass optional argument to enforce
	it).

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: 29464 byte(s)
Diff to previous 24162
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 24162 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 6 11:33:13 2008 UTC (6 years, 7 months ago) by matevz
File length: 26952 byte(s)
Diff to previous 23351
From Bertrand:

Remove TGLWidgetContainer class and change inheritance of
TGLWidget as following:
before: class TGLWidget : public TGCanvas, public TGLPaintDevice
now:    class TGLWidget : public TGFrame,  public TGLPaintDevice
 
Now TGFrame base class is used directly to tie with the GL Context,
instead of creating an external window and registering it in TVirtualX
window list.

Revision 23351 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 21 09:57:11 2008 UTC (6 years, 9 months ago) by matevz
File length: 26956 byte(s)
Diff to previous 23320
TGLViewer
=========

Rename member 'EDragAction fAction' to 'fDragAction' to make its
meaning clearer elsewhere.

Skip drawing when viewport area is zero.


TGLEventHandler
===============

Fix compilation warning - which actually revealed a cut-n-paste bug.

Consistently check and report existing drag-action for
leave/enter-notify and focus-in/out events. Do NOT use 'kNone' but
fully qualified enum entry from TGLViewer.

Revision 23320 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 18 17:19:25 2008 UTC (6 years, 9 months ago) by matevz
File length: 26423 byte(s)
Diff to previous 23318
TGLEventHandler - grab mouse during drag operations.

TGLSAViewer - fix typo in help text (extended in the last commit).

Revision 23318 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 18 16:38:57 2008 UTC (6 years, 9 months ago) by matevz
File length: 25820 byte(s)
Diff to previous 23140
In TGLViewer::SetEventHandler() propagate the changes to TGLWidget.

Rename member TGLWidget* TGLViewer::fGLWindow to fGLWidget to
correspond to class-name of the new low-level GL interface.

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: 25820 byte(s)
Diff to previous 22569
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 22569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 10 14:44:57 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/gl/src/TGLEventHandler.cxx
File length: 25820 byte(s)
Diff to previous 22548
From Bertrand:
- Fix warning C4355: 'this' : used in base member initializer list

Revision 22548 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 9 11:54:01 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TGLEventHandler.cxx
File length: 25799 byte(s)
Diff to previous 22539
Fix coding convention violations.

Remove trailing white-space for all files in eve/ and gl/.

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/gl/src/TGLEventHandler.cxx
File length: 25330 byte(s)
Copied from: branches/dev/fireworks/gl/src/TGLEventHandler.cxx revision 22525
Diff to previous 22468
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 22468 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 6 07:04:34 2008 UTC (6 years, 10 months ago) by matevz
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25330 byte(s)
Diff to previous 22467
Fix svn keyword syntax.

Revision 22467 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 6 06:55:13 2008 UTC (6 years, 10 months ago) by matevz
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25350 byte(s)
Diff to previous 22266
Disable fMouseTimer during drag for rotation.

Added new data-members 'TPoint fLastMouseOverPos'
and 'TGLPhysicalShape *fLastMouseOverShape', replacing static
variables in HandleTimer().

Revision 22266 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 20 20:46:59 2008 UTC (6 years, 11 months ago) by matevz
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25024 byte(s)
Diff to previous 22234
TGListTree - further changes to handling of current and below-mouse
item as required by eve.

TGLPhysicalShape - reset main color on each pass of selected-object
rendering as some renderers change current color.

TGLEventHandler - fix handling of arrow keys.

eve/ - consolidate selection / highlight handling between GL viewers
and list-tree.

Revision 22234 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 19 20:33:19 2008 UTC (6 years, 11 months ago) by matevz
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25425 byte(s)
Diff to previous 22116
Optimize setting of main-color of an element (or collection of
elements):

- Fix all GL object-rendering code to strictly use color set by the
  TGLPhysicalShape for main object components so that the
  display-lists remain valid during color change.

- Consolidate all main-color changing code-paths through TEveElement's
  to only use change-bits/stamps and to not tag the element as
  fundamentally changed.


Consolidate and extend behaviour of TEveProjectionManager and
sub-classes of TEveProjected:

  Implement virtual SetDepth() for all projected classes and use it
  from projection-manager to set current depth.

  Extent functionality of TEveProjectionManager::ImportElements() to
  allow placement of resulting projected objectes also into another
  container.


First steps towards common selection between GL-viewers and list-trees.

Revision 22116 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 12 17:32:03 2008 UTC (6 years, 11 months ago) by matevz
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25249 byte(s)
Diff to previous 22035
gl:
  - better support for selection;
  - new clicked signal with event code and status;
  - use Alt to trigger SecondarySelect() (was Ctrl before).

eve:
  - improve projection strategy for RhoZ view;
  - replace all CtrlClicked() methods with SecSelected();
  - add support for multiple selection.

TQObject:
  - use CollectClassSignals() for all Emit() functions.

Revision 22035 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 6 15:32:08 2008 UTC (6 years, 11 months ago) by bellenot
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 25189 byte(s)
Diff to previous 22019
- Use TGEventHandler base class instead of TGLEventHandler
- Added Clicked(TObject *) signal in TGLView (signals will 
  probably be moved to TGLEventHandler in the future...)
- Connected the signal in SplitGLView.C macro

Revision 22019 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Feb 6 10:25:22 2008 UTC (6 years, 11 months ago) by bellenot
Original Path: branches/dev/fireworks/gl/src/TGLEventHandler.cxx
File length: 24450 byte(s)
- Implemented the default GL event handler
- Moved event handling from TGLView to TGLEventHandler

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