Log of /trunk/graf3d/gl/inc/TGLSelectRecord.h
Parent Directory
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: 5728 byte(s)
Diff to
previous 33124
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
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: 5505 byte(s)
Diff to
previous 30886
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
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: 5276 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: 4963 byte(s)
Diff to
previous 23140
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
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: 4743 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
19049 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Mon Jun 18 07:02:16 2007 UTC (7 years, 7 months ago) by
brun
Original Path:
trunk/gl/inc/TGLSelectRecord.h
File length: 4750 byte(s)
From Matev and Timur:
Timur:
1. Allow unique identification of shared GL contexts via
TGLContextIdentity class.
Matevz:
1. Improved overlay selection handling.
2. Perform GL context check before rendering, possibly invalidating
registered display-lists.
3. Minimize updates for window expose and resize events.
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.