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

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

Parent Directory Parent Directory


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

Revision 43018 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 16 03:13:21 2012 UTC (2 years, 11 months ago) by matevz
File length: 16957 byte(s)
Diff to previous 40305
Rewrite highlight rendering so that the stencil-control logic lives on the
TGLScene level, within new function TGLScene::RenderHighlight(). A set of new
functions called RenderXXXForHighligt() was introduced in TGLViewer/Scene.

This works around the problems with stencil buffer
coherency during multi-pass rendering with multiple clipping planes.

Some tweaking was necessary in TEve-GL classes that implement specialized
DrawHighlight() virtual from TGLLogicalShape.

Revision 40305 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 20 04:45:36 2011 UTC (3 years, 6 months ago) by matevz
File length: 16959 byte(s)
Diff to previous 37398
* TEveDigitSet:
  Add the following members (with get/set methods):
    Bool_t fSelectViaFrame; //  Allow selection via frame.
    Bool_t fHighlightFrame; //  Highlight frame when object is selected.
  Document frame-box, the new members and secondary-selectability.

* TEveBoxSet:
  Add the following member (with get/set methods):
    Int_t  fBoxSkip; // Number of boxes to skip for each drawn box during scene rotation.

* TEveDigit/Quad/BoxSetGL:
  Move common code for deciding whether the frame should be drawn into
    TEveDigitSetGL::DrawFrameIfNeeded().
  Implement box-skipping for box-set.

Revision 37398 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 8 13:55:30 2010 UTC (4 years, 1 month ago) by matevz
File length: 17119 byte(s)
Diff to previous 37390
Do not change line/fill mode in line pass of outline render mode.

Revision 37390 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 8 11:10:41 2010 UTC (4 years, 1 month ago) by matevz
File length: 17046 byte(s)
Diff to previous 36384
* TEveDigitSet:
  Fix typo in data-member name fDisableLigting -> fDisableLighting.
  The class was not streamable before and there were no
  getters/setters so the change is backward compatible.

  Add get/set methods for fDisableLighting.

* TEveBoxSet, TEveBoxSetGL, TEveQuadSetGL:
  Use new member name for fDisableLighting.

Revision 36384 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 20 14:26:41 2010 UTC (4 years, 3 months ago) by matevz
File length: 17045 byte(s)
Diff to previous 33124
Rewrite dynamic casts in sub-classes of TGLObject, SetModel() virtual,
so as to avoid complaints from coverity.

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: 17129 byte(s)
Diff to previous 32411
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 32411 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 25 18:55:26 2010 UTC (4 years, 10 months ago) by matevz
File length: 18160 byte(s)
Diff to previous 31450
Add support for drawing all quads/boxes with a single color. One needs to call:
  TEveDigitSet::UseSingleColor()

Added function boxset_single_color() to tutorial boxset.C.

Revision 31450 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 27 14:25:37 2009 UTC (5 years, 1 month ago) by matevz
File length: 18080 byte(s)
Diff to previous 30424
* TEveQuadSetGL
  Draw frame even if there are no digits.
  This problem surfaced when trying to draw dead modules in ALICE SPD.

* TEveBoxSetGL
  Draw frame even if there are no digits.
  Move box-drawing code into new RenderBoxes() -- DirectDraw() was
  getting too long.

Revision 30424 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 24 19:28:01 2009 UTC (5 years, 4 months ago) by matevz
File length: 18034 byte(s)
Diff to previous 25245
Add support for drawing of back-polygons for 3D frame-boxes.
Those should be transparent, otherwise the things inside are not
visible.

Modify quad-set and box-set renderers to properly use this feature.

Remove debug-printout in TGLCamera.

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: 18129 byte(s)
Diff to previous 24214
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 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: 16642 byte(s)
Diff to previous 24210
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 24210 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 10:30:45 2008 UTC (6 years, 7 months ago) by matevz
File length: 16920 byte(s)
Diff to previous 23140
From Alja.

TEveBoxSet classes:
Introduce new structure to draw cone set. 

tutorials/eve/boxset_test.C
Add function cone_test() to test cone set.

TEveDigitSet, TEveQuadSet:
Fix member in ERenderMode_e, to draw properly in wire-frame rendering mode.

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: 16932 byte(s)
Diff to previous 22539
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 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/TEveQuadSetGL.cxx
File length: 16932 byte(s)
Diff to previous 21310
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 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/TEveQuadSetGL.cxx
File length: 16827 byte(s)
Diff to previous 21252
Fix coding convention violations.

Revision 21252 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 7 01:39:32 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEveQuadSetGL.cxx
File length: 16542 byte(s)
Diff to previous 21215
Changes for marking of top-level objects in GL window.
- TGLLogicalShape: move DirectDraw() from protected to public.
- Implement color-locking for object rendering.
- Wrap all calls to glColor() to go via TGLUtil::Color().

Revision 21215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 5 17:19:23 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEveQuadSetGL.cxx
File length: 16528 byte(s)
Diff to previous 21168
Prefix all enum values with 'k'.

Revision 21168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 4 02:40:22 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEveQuadSetGL.cxx
File length: 16505 byte(s)
Diff to previous 21054
Rename structures to end with '_t'.

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/TEveQuadSetGL.cxx
File length: 16443 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/TEveQuadSetGL.cxx
File length: 16443 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