Log of /trunk/graf3d/gl/src/TGLRotateManip.cxx
Parent Directory
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: 11515 byte(s)
Diff to
previous 26394
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
26394 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Nov 23 14:35:25 2008 UTC (6 years, 2 months ago) by
matevz
File length: 11610 byte(s)
Diff to
previous 24214
TGLClip
=======
In TGLClipSet::SetClipState() negate also the distance from plane.
There was state mismatch between TGLClipPlane and TGLClipSetEditor.
Other files
===========
Consistent documentation-markup and white-space.
Revision
24214 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 11 14:48:35 2008 UTC (6 years, 7 months ago) by
matevz
File length: 11859 byte(s)
Diff to
previous 23140
TGLObject and subclasses
-----------------------------------------
Introduce new member 'Bool_t TGLObject::fMultiColor' that specifies
whether the class uses multiple colors for its rendering. This
information is important when drawing highlight or outlines around
objects as display-lists can not be used if color-state changes are
stored in them.
With this modification most of the logick for
virtual Bool_t TGLLogicalShape::ShouldDLCache(...)
can be implemented in TGLObject version.
Most of the GL-rendering classes have been fixed to properly set the
fMultiColor state and rely on the TGLObject::ShouldDLCache().
TGLPhysicalShape
----------------
Use TGLLogicalShape::Draw() instead of DirectDraw() when drawing
highlights to allow usage of display-lists for classes that do not use
multiple colors.
TGLUtil
-------
Decrease the default draw-quality for DrawLine/Cylinder/Sphere/Disk to
10. With software rendering the previous value of 60 caused very low
refresh rates.
Introduce two inner classes TDrawQualityModifier and
TDrawQualityScaler allowing easy/safe modification of draw-quality for
the above functions.
Introduce inner class TColorLocker allowing easy/safe modification of
color-lock state.
Revision
23140 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by
rdm
File length: 11817 byte(s)
Diff to
previous 20882
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
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/src/TGLRotateManip.cxx
File length: 11889 byte(s)
Diff to
previous 17322
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
13936 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jan 26 11:59:42 2006 UTC (8 years, 11 months ago) by
brun
Original Path:
trunk/gl/src/TGLRotateManip.cxx
File length: 11040 byte(s)
Diff to
previous 13394
From Richard:
Implement manipulators (translate/scale/rotate) for all shapes in
viewer (previously only clip shapes could use them).
Behaviour:
i) Single selection in viewer - either a normal / clip shape or none.
Current manipulator is attached (and shown) when attached to selection.
ii) Normal viewer shapes are selected using Shift+Left Mouse button (and
have bounding box drawn).
iii) Clip shapes are shown/selected by checking 'Show/Edit' option on
the Scene/Clipping tab of the GUI.
iv) Any exisiting (normal/clip) selection is cleared when making new
choice.
v) (Transparent) clip shapes cannot be selected (picked) directly in the
viewer - normal shape override this.
Rotation properties of shapes are not reflected in GUI currently.
Revision
13394 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 29 14:04:00 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/gl/src/TGLRotateManip.cxx
File length: 11100 byte(s)
Diff to
previous 13316
From Richard:
Fix for rotation manipulator - now have two interaction modes:
i) Normal - when ring is at reasonable angle - follow ellipse round as
previously.
ii) Shallow - when ring plane is at shaloow angle to eye (very tight
ellipse). Here just use pixel delta (drag) on viewport along ring plane.
To show difference draw followed ring line for i) and drag direction
arrows for ii)
Revision
13250 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 16 16:41:59 2005 UTC (9 years, 2 months ago) by
brun
Original Path:
trunk/gl/src/TGLRotateManip.cxx
File length: 5815 byte(s)
Diff to
previous 13005
From Richard:
Update to axes in GL viewer - in response to requests from Witold
Pokorski.
i) Added options to draw axes through origin (not depth clipped), as
well at edge (depth clipped).
ii) Added option to show a single reference marker (orange sphere) at
location - for debugging geometries.
iii) Improved draw quality of axes - similar to manipulators.
iv) These moved to new "Guides" tab under "Scene" for GUI.
Revision
13005 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Mon Oct 24 14:49:33 2005 UTC (9 years, 3 months ago) by
brun
Original Path:
trunk/gl/src/TGLRotateManip.cxx
File length: 6757 byte(s)
From Richard:
i) Add rotation manipulator.
ii) Allow direct manipulation of clipping plane - rotate/translate.
Cannot scale - makes no sense.
Note:
iii) Rotation interaction requires some improvement - difficult when
ring is almost parallel with eye line of camera.
iv) Still need to extend for all selected objects - requires some
internal rearrangement of TGLScene/TGLViewer
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.