Log of /trunk/graf3d/gl/inc/TGLViewerEditor.h
Parent Directory
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: 4386 byte(s)
Diff to
previous 33600
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
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: 3548 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: 3320 byte(s)
Diff to
previous 29744
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
29744 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 10 18:16:56 2009 UTC (5 years, 5 months ago) by
matevz
File length: 3406 byte(s)
Diff to
previous 29676
* TGLViewer
- Add support for usage of smooth poins and lines.
- Use FBO image dump function by default (if OpenGL-1.5 detected).
- Add option to increase global scale in SavePictureUsingFBO().
- Add several new image saving functions:
Bool_t SavePictureWidth (const TString &fileName, Int_t width, Bool_t pixel_object_scale=kTRUE);
Bool_t SavePictureHeight(const TString &fileName, Int_t height, Bool_t pixel_object_scale=kTRUE);
Bool_t SavePictureScale (const TString &fileName, Float_t scale, Bool_t pixel_object_scale=kTRUE);
* TGLViewerEditor
- Add controls for smooth points/lines.
* TGLPhysicalShape
- Remove obsolete comment.
Revision
29676 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 4 16:18:07 2009 UTC (5 years, 5 months ago) by
matevz
File length: 3337 byte(s)
Diff to
previous 27577
Add support for control over viewer-global point-size and line-width
scaling. Additionally, allow wireforame and outline line widths to be
specified separately (on viewer / scene / scene-info level).
This will allow for scaling of pixel-based objects (lines and points) when
saving of screenshots with very high resolution is
implemented.
Basic support is impemented across TGLViewer, TGLScene, TGLRnrCtx and
TGLUtil.
Classes that used glPointSize and glLineWidth were modified to call
corresponding static function in TGLUtil class.
Controls were added to TGLViewerEditor (under Style tab).
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: 3158 byte(s)
Diff to
previous 26250
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
26250 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 17 20:56:44 2008 UTC (6 years, 2 months ago) by
matevz
File length: 3094 byte(s)
Diff to
previous 25431
TGLContext, TGLWidget
---------------------
Add method ClearCurrent() to set current GL context to 0.
TGLLogicalShape
---------------
Change how number of required display-lists per object is handled:
before it was a virtual function, now it is a data member.
Fixes a severe memory leak due wrong number of released display-lists
when called from the destructor, which was calling a virtual function
to determine their number.
Fix accordingly the following classes: TGLSphere, TGLCylinder,
TEveCaloLegoGL and TEveBoxSetGL.
Revision
25431 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 17 08:35:34 2008 UTC (6 years, 4 months ago) by
matevz
File length: 3093 byte(s)
Diff to
previous 23140
Merge Alja's development since the release from the fireworks branch.
25284
-----
TEveCaloLegoGL, TGLAxisPainter, TGLCameraOverlay:
Fix tick-mark and font offsets.
25291
-----
TGLViewerEditor, TGLViewer, TGLCamera, TGLOrthoCamera,
TGLCameraOverlay, LinkDef.h:
Remove TGLCameraMarkupStyle. Functionality is moved to TGLCameraOverlay.
TGLFontManager:
Add utility function TGLFont::RenderBitmap() to draw pixmap
and bitmap fonts on given location.
TEveProjectionAxesGL:
Use TGLFont::RenderBitmap() function.
cms_calo.C, projection_test_prescale.C, projection_test.C, test_compound.C:
Camera markup is not drawn by default in orthographic projection.
25319
-----
TGLCameraOverlay.cxx:
Fix gl pick matrix.
TEveLegoOverlay:
Move inheritance from TGLOverlayElement to TGLCameraOverlay.
25395
-----
TGLFontManager, TGLAxisPainter, TGLCameraOverlay,TEveLegoOverlay, TEveCaloLegoGL:
Modify utility function TGLFont::RenderBitmap() to render text with given alignment.
TEveProjectionAxes:
Render axis on the edges of viewport instead of on edges of bounding box.
25405
-----
TEveProjectionAxesGL:
Draw axis from start to end of frustum corners if frustum inside projection limits,
else draw axis from low to high projection limit.
Set tick-mark size relative to viewport size.
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: 3091 byte(s)
Diff to
previous 21702
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
21702 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jan 14 18:55:14 2008 UTC (7 years ago) by
matevz
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 3091 byte(s)
Diff to
previous 20882
In TGLScene/TGLViewer add two timeouts for high-quality and
low-quality (during rotation etc) scene rendering. Expose both time
limits via TGLViewerEditor.
In TGLCamera::OfInterest() remove redundant test for physical-shape
bbox volume and optimize the remaining bbox diagonal length test.
Remove blanks from the eols.
Revision
20292 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 10 14:08:48 2007 UTC (7 years, 3 months ago) by
brun
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 2932 byte(s)
Diff to
previous 19435
From Matevz & Alja
* base/inc/TVirtualViewer3D.h:
Add function virtual void ObjectPaint(TObject*, Option_t*).
/**************************************************************************/
* ged/src/TGedEditor.cxx:
When adding top-level TGFrame for the extra tabs specify layout
hints with kLHintsExpandX.
/**************************************************************************/
* gl/inc/TGLScenePad.h:
* gl/src/TGLScenePad.cxx:
Implement virtual TVirtualViewer3D::ObjectPaint().
* gl/src/TGLCamera.cxx:
* gl/inc/TGLCamera.h:
* gl/src/TGLPerspectiveCamera.cxx:
* gl/inc/TGLPerspectiveCamera.h:
* gl/src/TGLOrthoCamera.cxx:
* gl/inc/TGLOrthoCamera.h:
Introduce two transformation matrices to clearly define movement
of camera around the center point. The first transformation matrix
fCamBase defines the coordinate system placed at the camera center
point with camera up-vector as the third base vector. The second
transformation matrix fCamTrans defines the camera transformation
relative to fCamBase.
Implement a common Truck(), Rotate() and Dolly() function for
orthographic and perspective camera.
Implement an option to define camera center point
externally. Center can also be determined via picking.
* gl/src/TGLUtil.cxx:
* gl/inc/TGLUtil.h:
TGLMatrix: add new functions to get/set the base vectors
directly.
TGLUtil: add member UInt_t fgDefaultDrawQuality.
TGLRect: bugfix in Diagonal(), integer calculation overflowed.
* gl/src/TGLViewer.cxx:
* gl/inc/TGLViewer.h:
Make interface to draw camera center point.
Add option to disable/enable depth test when drawing axis guides.
* gl/src/TGLViewerEditor.cxx:
* gl/inc/TGLViewerEditor.h:
Add GUI to manipulate camera center and to disable/enable depth
test when drawing axis guides.
* gl/src/TGLClipSetEditor.cxx:
Change layout of labeled number entries.
* gl/src/TGLLightSet.cxx:
Fix positioning of front light. White-space consolidation.
* gl/src/TGLLightSetEditor.cxx:
* gl/inc/TGLLightSetEditor.h:
Put GUI for the 6 lights in two columns.
/**************************************************************************/
* tutorials/gl/glViewerExercise.C:
Follow-up on changes in TGLCamera. Enable rotation on
orthographic camera.
* tutorials/gl/glViewerLOD.C:
Workourond for cint bug with switch statements.
Revision
19000 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 11 19:56:34 2007 UTC (7 years, 7 months ago) by
brun
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 2841 byte(s)
Diff to
previous 17552
From Matevz:
Major restructuring of GL viewer-scene relationship (Matevz)
===================================================
The main idea was to generalize current GL infrustructure so that the
following features can be done in the future:
1. Full pad rendering via GL including 3D histo/func painters and 2D graphics.
2. Implementation of GL canvas (with independent viewers serving as pads).
3. Multi-view event-visualization front-end.
4. Inclusion of external scenes (non-ROOT-gl) in ROOT viewer.
Rendering of ROOT scenes in external GL frameworks.
Changes on the code level
-------------------------
0. Extend current scene/viewer classes into a 2-level class hierarchy.
New classes TGLViewerBase and TGLSceneBase.
1. Allow scenes to be shared among viewers. View-specific scene-cache
needs to be kept at the viewer side.
2. Viewer now manages a list of scenes. It is possible to put together
a combination of scenes (e.g. one showing geometry, another one tracks
and yet another clusters). Each scene can define its own clipping object.
3. Provide API for fine-grained control over rendered object removal,
creation and update. This allows for efficient scene-updates.
4. Disentangle selection, clipping and other markup objects from
within viewer-scene singleton.
New classes TGLClipSet, TGLManipSet.
6. Disentangle selection management.
7. Separate overlay rendering to allow any number of active GL-GUI
elements (like manipulators are now).
New classes TGLOverlayElement.
8. Trailing white space has been removed in all files.
Restructure low-level interface to OpenGL (Timur)
=========================================
1. Allow sharing GL resources among viewers.
2. Do not bind GL-output (windowed or offscreen) to ROOT GUI.
New classes TGLContext, TGLFormat, TGLWidget.
This oboletes TGLKernel and TVirtualGL classes.
Revision
16452 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 5 18:19:09 2006 UTC (8 years, 3 months ago) by
brun
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 2882 byte(s)
Diff to
previous 16337
From Matevz and Timur:
* gl/inc/TGLViewer.h:
* gl/src/TGLViewer.cxx:
Added customizations of update/redraw behaviour:
1) flag 'Bool_t fIgnoreSizesOnUpdate' that tells the viewer
not to check the size of the object in AddObject();
2) member 'Color_t fClearColor' that allows user to select the
background color;
3) method 'void UpdateScene()' thet forces the scene update via
calling 'fPad->Paint()';
4) method 'virtual void RefreshPadEditor(TObject* changed=0)' that
allows updates to be sent to the built-in editor when the
internal state changes.
* gl/inc/TGLSAViewer.h:
* gl/src/TGLSAViewer.cxx:
Implemented virtual 'TGLSAViewer::RefreshPadEditor()'. In all
calls to 'TGedEditor::SetModel()' replaced third argument 'Int_t
event' from 'kButton1' to 'kButton1Down'.
* gl/inc/TGLViewerEditor.h:
* gl/src/TGLViewerEditor.cxx:
Added widgets controlling 'fClearColor', 'fIgnoreSizesOnUpdate',
'fResetCamerasOnUpdate' and 'fResetCameraOnDoubleClick'; added
buttons for invoking 'UpdateScene()' and 'CameraHome()' methods.
* gl/src/TGLScene.cxx:
Removed code setting the glClearColor in 'Draw()'.
Revision
14237 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 13 09:33:50 2006 UTC (8 years, 10 months ago) by
brun
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 2600 byte(s)
Diff to
previous 14203
From Timur:
Changes in TGLEditor, TGLColorEditor and TGLGeometryEditor
TGLSAViewer - GUI modified - old clip editor/guides
editor/lights - replaced by TGLViewerEditor.
GUI now works as in TPad's viewer - if you select
TGLViewer (shift + left click on a free scene space),
you - can see TGLViewerEditor,
if you select object in GL scene, you can see color
editor and geometry editor for this object.
TGLViewerEditor can be used in a pad and in a TGLSAFrame.
Revision
14203 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Wed Mar 8 21:09:43 2006 UTC (8 years, 10 months ago) by
brun
Original Path:
trunk/gl/inc/TGLViewerEditor.h
File length: 2447 byte(s)
From Timur Pocheptsov:
-TGLPixmap - removed and replaced by TGLViewer (most of the TGLViewer
functionality is available in pad now);
-TGLHistPainter - zooming/panning added for legoes/surfaces;
-TGLViewerEditor - TGLViewer's editor for pad (lights/clipping/guides
manipulation).
-TRootCanvas :
minor changes to support mouse wheel event in gl viewer in a pad
-TCanvas :
a)changes to process keyboard events correctly
b)changes to process mouse will events
-TVirtualViewer3D :
changes in interface for TGLManager (win32 implementation of TGLManager
requires some functions and cannot be dependant from TGLViewer)
-Added class TVirtualGLManipulator - base for TGLManip - again, required
mostly by TGWin32GL.
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.