[root] / trunk / graf3d / eve / src / TEveViewer.cxx Repository:
ViewVC logotype

Log of /trunk/graf3d/eve/src/TEveViewer.cxx

Parent Directory Parent Directory


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

Revision 39331 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 22 20:13:31 2011 UTC (3 years, 8 months ago) by matevz
File length: 21584 byte(s)
Diff to previous 37366
Document Eve.Viewer.HideMenus rootrc entry.

Revision 37366 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 7 14:39:19 2010 UTC (4 years, 1 month ago) by matevz
File length: 21326 byte(s)
Diff to previous 37195
Make menu-bar hiding for Eve views dependant on environment
setting. To disable, add to rootrc:
  Eve.Viewer.HideMenus: off

Revision 37195 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 2 16:23:12 2010 UTC (4 years, 1 month ago) by matevz
File length: 21240 byte(s)
Diff to previous 33463
Merge rev 37158 from fireworks branch.

Store and restore gTQSender in slot methods that call further signal
emitting functions.

Revision 33463 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 11 09:38:29 2010 UTC (4 years, 8 months ago) by matevz
File length: 21075 byte(s)
Diff to previous 33124
* TEveManager: Simplify TEveManager::Terminate() -- close browser
  window directly in destructor.

* TEveViewer: Disconnect from TGLViewer class signals in destructor.

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: 19906 byte(s)
Diff to previous 32431
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 32431 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 1 19:46:12 2010 UTC (4 years, 10 months ago) by matevz
File length: 18563 byte(s)
Diff to previous 31866
Use gVirtualX->SupportsExtension() to determine if we are running on an
OSX display server.

Revision 31866 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 13 13:15:59 2009 UTC (5 years, 1 month ago) by matevz
File length: 18644 byte(s)
Diff to previous 31843
Remove variable names for caught exceptions that are not used.

Revision 31843 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 11 10:33:59 2009 UTC (5 years, 1 month ago) by matevz
File length: 18652 byte(s)
Diff to previous 31821
* TEveViewer - add exception handling around code trying to obtain
  stereo buffers.

* geom_cms_stereo.C - document macro.

Revision 31821 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 10 18:22:44 2009 UTC (5 years, 1 month ago) by matevz
File length: 18235 byte(s)
Diff to previous 31299
Add support for stereo rendering. This requires a graphics card that
supports quad-buffering and shutter glasses.

The standard drawing code is unchanged.

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: 17480 byte(s)
Diff to previous 30891
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 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: 17447 byte(s)
Diff to previous 30886
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 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: 17444 byte(s)
Diff to previous 30384
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 30384 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 23 17:54:23 2009 UTC (5 years, 4 months ago) by matevz
File length: 16093 byte(s)
Diff to previous 30383
Merge from fworks branch the following revisions:

30297
=====

tutorials/eve/cms_calo.C:
Change elements names.

TGLViewer:
Add getter to see if use bright or dark colorset.

TGLCameraOverlay, TEveCaloLego, TEveProjectionAxes,TEveCaloLegoOverlay:
By default use markup colors from color set. This way color will be correct
in bright and dark background without any settings. 


30340
=====

TEveViewer:
Protect against misleading warnings (happened on mac only).


30376
=====

TGLFont:
Remove TGLFont::RenderBitmap() function and replace it with TGLFont::Render(),
which can be used more genericaly: for all font types and alignments.

TGLAxisPainter, TGLCameraOverlay, TGLAnnotation, TEveProjectionAxesGL:
Use TGLFont::Render() function to draw labels and titles.

TEveCaloLego, TEveCaloLegoEditor:
Remove obsolete members fTopViewUseMaxColor and fTopViewTowerColor.

TEveCaloLegoGL:
Draw tower vlues in all 2DModes.

TEveCaloLegoOverlay:
Draw palette scales in case TEveCaloLego is using palette (f2DMode = TEveCaloLego::kValColor).

TEveCalo3DGL:
Keep grid color same in outline and wirewrame render mode.

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: 15946 byte(s)
Diff to previous 29323
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 29323 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 3 10:57:51 2009 UTC (5 years, 6 months ago) by matevz
File length: 15911 byte(s)
Diff to previous 29298
Detect if display is running on mac at runtime - the compile-time
detection was wrong as people ssh to lxplus from their macs.
Thanks to Fons for providing the detection code.

Revision 29298 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 1 16:52:52 2009 UTC (5 years, 6 months ago) by matevz
File length: 15222 byte(s)
Diff to previous 28863
Wrong function called on viewer dock. Fix error in function documentation.

Revision 28863 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 9 19:17:12 2009 UTC (5 years, 7 months ago) by matevz
File length: 15226 byte(s)
Diff to previous 28197
From Alja.

Add TEveViewerList editor class to set common TEveViewer attributes.
Currently has an interface to set color brightness and color set.

TEveUtil.cxx:
Change SetColorBrightnes() to use gamma offset.

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: 14487 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: 14437 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: 14099 byte(s)
Diff to previous 26873
From Axel:
Replace all references to Text_t by char, still keeping the definition in Rtypes.h

Revision 26873 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 12 12:58:21 2008 UTC (6 years, 1 month ago) by matevz
File length: 14107 byte(s)
Diff to previous 26850
Perform hierarhical pre-undoc / post-dock so that child GL-windows get properly relocated on mac.

Revision 26850 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 11 21:45:13 2008 UTC (6 years, 1 month ago) by matevz
File length: 13741 byte(s)
Diff to previous 26767
Add virtuals PreUndock/PostUndock() to TEveWindow and Implement them for TEveViewer. This allows undocking of a single gl window on mac - for hierarchical undock need to add recursion over sub-frames.

Revision 26767 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 9 16:44:30 2008 UTC (6 years, 1 month ago) by matevz
File length: 13299 byte(s)
Diff to previous 26766
Remove commented line.

Revision 26766 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 9 16:41:29 2008 UTC (6 years, 1 month ago) by matevz
File length: 13403 byte(s)
Diff to previous 26717
From Bertrand: fix issue with menus not working after embedding a stand-alone gl-viewer.

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: 13346 byte(s)
Diff to previous 26635
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 26635 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 3 18:43:04 2008 UTC (6 years, 1 month ago) by matevz
File length: 10812 byte(s)
Diff to previous 26367
TEveWindow
- Finalize low-level API for window-switching.
- Add method TEveCompositeFrame::ReplaceIconBox() allowing registration
  of an external window tool-box.
- Add to TEveWindowSlot two methods:
    TEveWindowFrame*  MakeFrame();
    TEveWindowFrame*  MakeFrame(TGFrame* frame);
  to facilitate registration of arbitrary gui frames.

TEveViewer
- Add method SpawnGLEmbeddedViewer(const TGWindow* parent, Int_t border).

TGLSAViewer
- Parent pop-up menus to default-root.

test_windows.C
- Add stand-alone gl viewer, embedded gl viewer and a root-canvas.

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: 10462 byte(s)
Diff to previous 25245
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 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: 10364 byte(s)
Diff to previous 23140
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 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: 9850 byte(s)
Diff to previous 22548
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 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/eve/src/TEveViewer.cxx
File length: 9850 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/eve/src/TEveViewer.cxx
File length: 9305 byte(s)
Diff to previous 21652
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

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

- many new tutorials and demos for eve/;

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

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

Revision 21566 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 28 16:15:28 2007 UTC (7 years ago) by brun
Original Path: trunk/eve/src/TEveViewer.cxx
File length: 7607 byte(s)
Diff to previous 21534
Move functions referencing static global variables from inline to implementation file.

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/src/TEveViewer.cxx
File length: 7401 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/src/TEveViewer.cxx
File length: 7319 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/src/TEveViewer.cxx
File length: 6707 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/src/TEveViewer.cxx
File length: 6707 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