Log of /trunk/graf3d/eve/src/TEveCompound.cxx
Parent Directory
Revision
33864 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 14 09:47:19 2010 UTC (4 years, 7 months ago) by
matevz
File length: 7136 byte(s)
Diff to
previous 33135
Merge the following revisions from the fireworks branch:
33631, 33666, 33668, 33690, 33700, 33701, 33702, 33704, 33751, 33753,
33767, 33770, 33774, 33787, 33789, 33790, 33791, 33792, 33796, 33798,
33804, 33817, 33823, 33825
gl/:
----
- extensions for transparency handling in TGLUtil;
- allow disabling of internal viewer selection;
- allow fixing of default camera center;
- fix global light placement -- it was only correct for XoZ floor or
when scene center was at the origin.
eve/:
-----
- propagation of main transparency to projected replicas and to
compound members;
- when projecting TEveStraightLineSet in RhoZ, break lines crossing
the separating plane (required change of internal representation);
- anti-flickering support for TEveBoxSet;
- proper multiple-selection handling in TEveCalo classes;
- small new features, bug fixes in TEveCalo classes.
33631
=====
Author: alja
Date: Fri May 28 12:50:27 2010
New Revision: 33631
URL: http://root.cern.ch/viewvc?rev=33631&root=root&view=rev
Log:
Fix bug in tool tip.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
33666
=====
Author: matevz
Date: Mon May 31 13:41:54 2010
New Revision: 33666
URL: http://root.cern.ch/viewvc?rev=33666&root=root&view=rev
Log:
Propagate main transparency the same way as main color is propagated:
- from projectables to projecteds;
- in CopyVizParams();
- in TEveCompound to children depending on the following CSC bit settings:
kCSCBApplyMainTransparencyToAllChildren
kCSCBApplyMainTransparencyToMatchingChildren
In TEveElementList add member 'Bool_t fDoTransparency' (analoguous to
fDoColor).
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCompound.h
branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h
branches/dev/fireworks/graf3d/eve/src/TEveCompound.cxx
branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx
33668
=====
Author: matevz
Date: Mon May 31 15:44:20 2010
New Revision: 33668
URL: http://root.cern.ch/viewvc?rev=33668&root=root&view=rev
Log:
In TEveelement introduce Bool_t members fCanEditMainColor and
fCanEditMainTransparency. The corresponding base-class functions now
return the value of these data members.
In most sub-classes that require editng of main color and transparency
it was now enough to set these data-members to kTRUE in constructors.
Further, this allows per object setting of color / transparency
editability via:
void SetEditMainColor(Bool_t);
void SetEditMainTransparency(Bool_t);
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveArrow.h
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
branches/dev/fireworks/graf3d/eve/inc/TEveShape.h
branches/dev/fireworks/graf3d/eve/inc/TEveText.h
branches/dev/fireworks/graf3d/eve/src/TEveArrow.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
branches/dev/fireworks/graf3d/eve/src/TEveGeoShape.cxx
branches/dev/fireworks/graf3d/eve/src/TEveShape.cxx
branches/dev/fireworks/graf3d/eve/src/TEveText.cxx
33690
=====
Author: matevz
Date: Tue Jun 1 13:07:46 2010
New Revision: 33690
URL: http://root.cern.ch/viewvc?rev=33690&root=root&view=rev
Log:
Add transparency argument to TGLUtil:
RenderPolyMarkers(...)
RenderPolyLine(...)
In eve/ use Char_t for transparency (as it is in gl/).
Until now UChar_t was used in eve/.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
branches/dev/fireworks/graf3d/eve/inc/TEveCaloLegoOverlay.h
branches/dev/fireworks/graf3d/eve/inc/TEveCompound.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/TEveProjectionBases.h
branches/dev/fireworks/graf3d/eve/inc/TEveTriangleSet.h
branches/dev/fireworks/graf3d/eve/inc/TEveUtil.h
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoOverlay.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCaloVizEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCompound.cxx
branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
branches/dev/fireworks/graf3d/eve/src/TEveElementEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveGeoNode.cxx
branches/dev/fireworks/graf3d/eve/src/TEveLineGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx
branches/dev/fireworks/graf3d/eve/src/TEveRGBAPalette.cxx
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveUtil.cxx
branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
branches/dev/fireworks/graf3d/gl/src/TPointSet3DGL.cxx
33700
=====
Author: matevz
Date: Tue Jun 1 18:55:06 2010
New Revision: 33700
URL: http://root.cern.ch/viewvc?rev=33700&root=root&view=rev
Log:
Do not overload TGLUtil::Color() for setting alpha and transparency --
name the functions ColorAlpha() and ColorTransparency().
In TEveStraightLineSetGL pass main-transparency also as transparency
of the marker.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
branches/dev/fireworks/graf3d/gl/src/TGLPhysicalShape.cxx
branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
33701
=====
Author: matevz
Date: Tue Jun 1 20:36:47 2010
New Revision: 33701
URL: http://root.cern.ch/viewvc?rev=33701&root=root&view=rev
Log:
TEveProjections:
- Add virtual function
BisectBreakPoint(TEveVector& vL, TEveVector& vR, Float_t eps_sqr=1e-10f);
that find both edges of a segment that is split over two
non-contiguous space-regions.
TEveStraightLineSet:
- Handle breaking of each line segment in a projection and create two
separate parts.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/inc/TEveStraightLineSet.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
33702
=====
Author: matevz
Date: Tue Jun 1 21:18:54 2010
New Revision: 33702
URL: http://root.cern.ch/viewvc?rev=33702&root=root&view=rev
Log:
Simplify internal representation of marker in a line-set.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveStraightLineSet.h
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
33704
=====
Author: matevz
Date: Tue Jun 1 21:28:27 2010
New Revision: 33704
URL: http://root.cern.ch/viewvc?rev=33704&root=root&view=rev
Log:
Remove unused variable.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
33751
=====
Author: matevz
Date: Fri Jun 4 16:14:12 2010
New Revision: 33751
URL: http://root.cern.ch/viewvc?rev=33751&root=root&view=rev
Log:
Small fixes for track rendering.
TEveTrack
- Implement virtual ComputeBBox() to include path-mark positions in
the bounding box calculation.
TEveTrackGL
- Number of visible path-marks was computed wrongly.
TEvePointSet
- Remove virtual ComputeBBox() -- it was just calling the base-class
version.
TPointSet3D
- Simplify ComputeBBox().
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/src/TEvePointSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/g3d/src/TPointSet3D.cxx
33753
=====
Author: matevz
Date: Fri Jun 4 16:45:38 2010
New Revision: 33753
URL: http://root.cern.ch/viewvc?rev=33753&root=root&view=rev
Log:
Move anti-flickering flag from TEveQuadSet to TEveDigitSet.
Implement it in TEveBoxSet-GL rendering, too.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
branches/dev/fireworks/graf3d/eve/inc/TEveQuadSet.h
branches/dev/fireworks/graf3d/eve/src/TEveBoxSetGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveDigitSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveQuadSet.cxx
33767
=====
Author: alja
Date: Mon Jun 7 19:49:03 2010
New Revision: 33767
URL: http://root.cern.ch/viewvc?rev=33767&root=root&view=rev
Log:
In TEveCaloDataVec add interface to add new slice and getters to read slice values and cell geometry.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCaloData.h
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
33770
=====
Author: matevz
Date: Tue Jun 8 11:54:09 2010
New Revision: 33770
URL: http://root.cern.ch/viewvc?rev=33770&root=root&view=rev
Log:
Take the right fP for point-array when calculating bounding-box.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
33774
=====
Author: alja
Date: Tue Jun 8 13:09:52 2010
New Revision: 33774
URL: http://root.cern.ch/viewvc?rev=33774&root=root&view=rev
Log:
TEveCaloLegoGL:
Fix picking in kValSizeOutline mode.
TEveCaloLegoEditor:
Fix last enum in 2D mode entry.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33787
=====
Author: matevz
Date: Tue Jun 8 18:24:27 2010
New Revision: 33787
URL: http://root.cern.ch/viewvc?rev=33787&root=root&view=rev
Log:
Fix invalid iterator access reported by valgrind.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33789
=====
Author: matevz
Date: Tue Jun 8 19:08:23 2010
New Revision: 33789
URL: http://root.cern.ch/viewvc?rev=33789&root=root&view=rev
Log:
Fix another invalid iterator access reported by valgrind.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33790
=====
Author: alja
Date: Tue Jun 8 19:51:15 2010
New Revision: 33790
URL: http://root.cern.ch/viewvc?rev=33790&root=root&view=rev
Log:
Bugfix:: In TEveCaloDataVec::AddSlice initalise vector of tower values.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
33791
=====
Author: matevz
Date: Tue Jun 8 22:31:00 2010
New Revision: 33791
URL: http://root.cern.ch/viewvc?rev=33791&root=root&view=rev
Log:
Add flag allowing to disable internal GL-viewer selection.
To disable it call:
handler->SetDoInternalSelection(kFALSE);
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLEventHandler.h
branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx
33792
=====
Author: matevz
Date: Tue Jun 8 23:08:09 2010
New Revision: 33792
URL: http://root.cern.ch/viewvc?rev=33792&root=root&view=rev
Log:
Add option to fix the default camera center.
To activate, call:
camera->SetFixDefCenterVec(x, y, z);
camera->SetFixDefCenter(kTRUE);
This will take effect on next camera reset.
External center still overrides the setting.
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLCamera.h
branches/dev/fireworks/graf3d/gl/src/TGLCamera.cxx
branches/dev/fireworks/graf3d/gl/src/TGLOrthoCamera.cxx
branches/dev/fireworks/graf3d/gl/src/TGLPerspectiveCamera.cxx
33796
=====
Author: alja
Date: Wed Jun 9 12:51:06 2010
New Revision: 33796
URL: http://root.cern.ch/viewvc?rev=33796&root=root&view=rev
Log:
Fix bug in redering of selected cells in case cells are highlighted the same time.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33798
=====
Author: matevz
Date: Wed Jun 9 15:28:30 2010
New Revision: 33798
URL: http://root.cern.ch/viewvc?rev=33798&root=root&view=rev
Log:
White space.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33804
=====
Author: matevz
Date: Wed Jun 9 20:49:33 2010
New Revision: 33804
URL: http://root.cern.ch/viewvc?rev=33804&root=root&view=rev
Log:
Use central function TEveCaloData::ProcessSelection(...) to process
(multiple secondary) selection from all GL renderers (3D, 2D and
Lego).
Fix rendering of non-rebinned lego for multiple selection.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCaloData.h
branches/dev/fireworks/graf3d/eve/src/TEveCalo2DGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
33817
=====
Author: matevz
Date: Thu Jun 10 15:31:17 2010
New Revision: 33817
URL: http://root.cern.ch/viewvc?rev=33817&root=root&view=rev
Log:
Do not redraw if the widget is not mapped.
Add option to block redraw in UpdateScene().
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLViewer.h
branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
33823
=====
Author: matevz
Date: Thu Jun 10 16:25:59 2010
New Revision: 33823
URL: http://root.cern.ch/viewvc?rev=33823&root=root&view=rev
Log:
Fix placement of global lights.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLLightSet.cxx
33825
=====
Author: matevz
Date: Thu Jun 10 16:47:54 2010
New Revision: 33825
URL: http://root.cern.ch/viewvc?rev=33825&root=root&view=rev
Log:
Hide tooltip on key event.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx
Revision
33062 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 16 11:01:32 2010 UTC (4 years, 9 months ago) by
matevz
File length: 5142 byte(s)
Diff to
previous 32462
* TEveElement -- Extensions for configurable selection / highlight /
color propagation. The following options can be activated:
- ImplySelectAllChildren() - to highlight / imply-select all
children of an element;
- TakeAnyParentAsMaster() - to upwards propagate mouse-selection to
any parent;
- ApplyMainColorToAllChildren() / ApplyMainColorToMatchingChildren()
to request color propagation to children.
Modified FillImpliedSelectedSet(), GetMaster() and SetMainColor()
accordingly.
* TEveCompound::FillImpliedSelectedSet()
Only forward call to children when they are not in the set yet.
Revision
32462 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 4 14:53:19 2010 UTC (4 years, 10 months ago) by
matevz
File length: 5128 byte(s)
Diff to
previous 30840
Add methods that allow implied selection and highlight to be updated
after new elements are added to compound or projections.
* TEveElement
Add method:
void RecheckImpliedSelections();
* TEveSelection
Add methods:
void RecheckImpliedSet(SelMap_i& smi);
void RecheckImpliedSetForElement(TEveElement* el);
Revision
30840 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 23 09:03:14 2009 UTC (5 years, 3 months ago) by
matevz
File length: 5066 byte(s)
Diff to
previous 27157
Add support for 3D -> 3D projections. This also allows for
scaling (compression/extension) of certain space region as required by
NA62 to show the 200m long detector in a meaningful way.
Several generalizations of the projection infrastructure were
required:
1. TEveProjectable::ProjectedClass() takes an argument:
virtual TClass* ProjectedClass(const TEveProjection* p) const = 0;
thus allowing different projected classes for different projections.
2. All TEveProjection::ProjectPoint/Vector(...) functions have an
additional "depth" argument thus allowing the projected classes to
skip explicit setting of depth after the point has been projected
-- this could damage the 3rd component.
Pre-scaling now supports 3 dimensions.
3. Abstract TEveProjected::SetDepth() has been split into two parts:
a) It has been implemented in the base class where it checks for
the projection type (2d) before calling the local function;
b) Abstract SetDepthLocal() has been added to provide the same
functionality.
This allows for the 2d/3d check to be done in place only.
4. New projection class has been introduced: TEve3DProjection.
It performs pre-scaling and offsets the center.
5. To simplify the projection of lists TEveElementList has been made
projectable and corresponding TEveElementListProjected class
introduced. This also fixed the problem with render-state not being
propagated to projected classes.
The check whether to project a sub-tree of elements is still performed.
6. TEveGeoShapeProjected has been introduced to represent the 3D
projection of a TEveGeoShape (2D projection is handled by
TEvePolygonSetProjected).
Points, lines and tracks use the same projected class for both 2D
and 3D projections.
An example showing this functionality has been added as a new tab in
tutorials/eve/projection_prescale.C.
Revision
24004 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat May 24 20:08:56 2008 UTC (6 years, 8 months ago) by
matevz
File length: 5072 byte(s)
Diff to
previous 24001
Implement virtual method TEveElement::CopyVizParams(element) for the
following classes: TEvePointSet, TEveLine, TEveTrack, TEveTrackList
and TEveStraightLineSet.
Implemented TEveProjectable::PropagateVizParams().
In TEveGedEditor::Update() call PropagateVizParamsToProjecteds() so
that all representation of given element receive the potential
updates.
Revision
24001 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri May 23 20:58:14 2008 UTC (6 years, 8 months ago) by
matevz
File length: 5500 byte(s)
Diff to
previous 23979
Optimize updates of element visibility by introducing a new stamp-type
and preprocessing the changed elements in TEveManager::DoRedraw3D().
Make TEveElement::AddStamp() virtual. This allows sub-classes to react
to different changes within the element.
This also simplifes handling of visibility for TEveGeoNode and
TEveSceneInfo.
TEveProjection manager properly maintains compound-element relation.
Finalize propagation of visibility and color from compounds to
compound elements and from projectables to projecteds.
Add three new selection propagation modes (compound, compound and
projectable, master).
Remove obsolete method TEveElement::UpdateItems() and all its
incarnations.
Replace asserts in TEveTrackPropagator::HelixToBounds() with a warning
as this case can actually occur due to numerical errors for tracks with
pZ close to zero.
Revision
23979 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 22 19:28:49 2008 UTC (6 years, 8 months ago) by
matevz
File length: 5324 byte(s)
Diff to
previous 23869
Propagation of main-color and render-state from:
a) compounds to compound-members;
b) projectables to projected elements.
New tutorial to test/demonstrate compounds (not complete).
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.