Log of /trunk/graf3d/eve/src/TEveTrackProjected.cxx
Parent Directory
Revision
39679 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Jun 11 00:05:06 2011 UTC (3 years, 7 months ago) by
matevz
File length: 10331 byte(s)
Diff to
previous 39287
Generalize TEveProjection::BisectBreakPoint() and use it from
TEveTrackProjected and TEveStraightLineSetProjected.
The old argument signature is still supported but prints a warning that it is
obsolete.
Revision
38721 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 4 13:37:12 2011 UTC (3 years, 9 months ago) by
matevz
File length: 11133 byte(s)
Diff to
previous 33955
Merge the following revisions from branches/dev/fireworks:
37780, 37831, 38257, 38388, 38390, 38400, 38406, 38407, 38412, 38415,
38416, 38420, 38481
37780
=====
Author: alja
Date: Thu Jan 13 20:37:48 2011
New Revision: 37780
URL: http://root.cern.ch/viewvc?rev=37780&root=root&view=rev
Log:
Use double precision for track propagation.
TEveTrack, TEveTrackPropagator:
Change memebers for track propagation to use double types.
TEvePathMark:
Add copy constructor.
TEveVSDStructs:
Template TEveRecTrack for double and float types.
track.C:
Use TEveRecTrackD and TEvePathMarkD to avoid unnecessary float to double conversion.
Replace virtual TEveMagField::GetFieldD() with TEveMagField::GetField() to avoid float to
double conversion.
Modified:
branches/dev/fireworks/graf3d/eve/inc/LinkDef1.h
branches/dev/fireworks/graf3d/eve/inc/TEvePathMark.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/inc/TEveVSDStructs.h
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveVSDStructs.cxx
branches/dev/fireworks/tutorials/eve/track.C
37831
=====
Author: alja
Date: Fri Jan 21 14:52:01 2011
New Revision: 37831
URL: http://root.cern.ch/viewvc?rev=37831&root=root&view=rev
Log:
Fix 3D-axis font size when TEveCaloData is empty.
Read axis divisions from x,y axis.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
38257
=====
Author: alja
Date: Tue Mar 1 15:34:36 2011
New Revision: 38257
URL: http://root.cern.ch/viewvc?rev=38257&root=root&view=rev
Log:
Fix pick camera-center when depth test is disabled.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
38388
=====
Author: alja
Date: Fri Mar 11 17:45:41 2011
New Revision: 38388
URL: http://root.cern.ch/viewvc?rev=38388&root=root&view=rev
Log:
Add option fDisplaceCenter to dismiss empty gap in RhoZ projection when projection center is not in
origin:
In ProjectPoint(), if fDisplaceCenter falg is set, move input vertex before projecting its coordinates.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38390
=====
Author: alja
Date: Fri Mar 11 17:58:55 2011
New Revision: 38390
URL: http://root.cern.ch/viewvc?rev=38390&root=root&view=rev
Log:
Set label size from TAttAxis.
Catch TEveException in DirectDraw().
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
38400
=====
Author: alja
Date: Mon Mar 14 18:36:02 2011
New Revision: 38400
URL: http://root.cern.ch/viewvc?rev=38400&root=root&view=rev
Log:
TEveProjectionAxesGL:
Set axis range by comparing frustum size and projection manager bounding box.
TEveProjections:
Set function GetLimit(), previously used by TEveProjectionAxesGL, obsolete.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38406
=====
Author: alja
Date: Mon Mar 14 22:09:04 2011
New Revision: 38406
URL: http://root.cern.ch/viewvc?rev=38406&root=root&view=rev
Log:
Update projected center in SetCenter() function.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38407
=====
Author: alja
Date: Mon Mar 14 22:17:34 2011
New Revision: 38407
URL: http://root.cern.ch/viewvc?rev=38407&root=root&view=rev
Log:
Rename memeber fDisplaceCenter to fDisplaceOrigin.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38412
=====
Author: alja
Date: Tue Mar 15 15:48:55 2011
New Revision: 38412
URL: http://root.cern.ch/viewvc?rev=38412&root=root&view=rev
Log:
Fix GetValForScreenPos(), used by TEveProjectionAxis, to return non-displaced/oroginal value
in displace-origin mode.x
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38415
=====
Author: alja
Date: Tue Mar 15 15:54:02 2011
New Revision: 38415
URL: http://root.cern.ch/viewvc?rev=38415&root=root&view=rev
Log:
Cache values in SplitIntervalByPos() for optimization.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
38416
=====
Author: alja
Date: Tue Mar 15 16:03:28 2011
New Revision: 38416
URL: http://root.cern.ch/viewvc?rev=38416&root=root&view=rev
Log:
Add define TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE as temporary workaround till root
patches are integrated to CMSSW.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
38420
=====
Author: alja
Date: Tue Mar 15 20:27:41 2011
New Revision: 38420
URL: http://root.cern.ch/viewvc?rev=38420&root=root&view=rev
Log:
Changes in GetValForScreenPos() used by TEveProjectionAxes:
return shifted value in case origin is displaced.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38481
=====
Author: alja
Date: Thu Mar 17 13:11:34 2011
New Revision: 38481
URL: http://root.cern.ch/viewvc?rev=38481&root=root&view=rev
Log:
In TEvecalo2D add getter for sorted cell lists.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
Revision
33955 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 17 11:33:13 2010 UTC (4 years, 7 months ago) by
matevz
File length: 11112 byte(s)
Diff to
previous 33627
Merge the following revisions from the fireworks branch:
33909, 33913, 33914, 33916, 33922, 33924, 33925, 33932
33909
=====
Author: matevz
Date: Tue Jun 15 13:05:07 2010
New Revision: 33909
URL: http://root.cern.ch/viewvc?rev=33909&root=root&view=rev
Log:
Add option to switch from scene-centric to viewer-centric controls.
To switch from default, put this into ~/.rootrc:
OpenGL.EventHandler.ViewerCentricControls: 1
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLEventHandler.h
branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx
33913
=====
Author: matevz
Date: Tue Jun 15 15:41:44 2010
New Revision: 33913
URL: http://root.cern.ch/viewvc?rev=33913&root=root&view=rev
Log:
Add help about viewer-centric controls.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLSAViewer.cxx
33914
=====
Author: matevz
Date: Tue Jun 15 15:44:08 2010
New Revision: 33914
URL: http://root.cern.ch/viewvc?rev=33914&root=root&view=rev
Log:
Fix help text line endings.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLSAViewer.cxx
33916
=====
Author: matevz
Date: Tue Jun 15 16:24:37 2010
New Revision: 33916
URL: http://root.cern.ch/viewvc?rev=33916&root=root&view=rev
Log:
* TEveLineGL
Do not disable blending if it was enabled form outside, only enforce
it if smooth line-drawing is requested.
* TGLUtil
Add helper class TGLCapabilityEnabler -- it makes sure certain
capability is enabled if the required state is true.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveLineGL.cxx
branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
33922
=====
Author: matevz
Date: Tue Jun 15 17:14:26 2010
New Revision: 33922
URL: http://root.cern.ch/viewvc?rev=33922&root=root&view=rev
Log:
In SetProjection() use CopyVizParams() to propagate visual parameters to projected replicas -- where it makes sense (everywhere but TEvePolgonSetProjected).
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveGeoShape.cxx
branches/dev/fireworks/graf3d/eve/src/TEveLine.cxx
branches/dev/fireworks/graf3d/eve/src/TEvePointSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSet.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
33924
=====
Author: matevz
Date: Tue Jun 15 17:27:52 2010
New Revision: 33924
URL: http://root.cern.ch/viewvc?rev=33924&root=root&view=rev
Log:
Remove unnecessary function in TGLCapabilityEnabler.
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
33925
=====
Author: matevz
Date: Tue Jun 15 17:28:28 2010
New Revision: 33925
URL: http://root.cern.ch/viewvc?rev=33925&root=root&view=rev
Log:
Fix overriding of smoothness (as in TEveLineGL before).
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
33932
=====
Author: alja
Date: Tue Jun 15 20:17:06 2010
New Revision: 33932
URL: http://root.cern.ch/viewvc?rev=33932&root=root&view=rev
Log:
Add transparency parameter to slice info.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCaloData.h
branches/dev/fireworks/graf3d/eve/inc/TEveCaloVizEditor.h
branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
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
branches/dev/fireworks/graf3d/eve/src/TEveCaloVizEditor.cxx
Revision
33627 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 27 19:19:58 2010 UTC (4 years, 7 months ago) by
matevz
File length: 11304 byte(s)
Diff to
previous 32528
Merge the following revisions from the fireworks branch:
33294, 33296, 33339, 33424, 33428, 33431, 33432, 33448, 33478
33294
=====
Author: alja
Date: Thu Apr 29 16:03:27 2010
New Revision: 33294
URL: http://root.cern.ch/viewvc?rev=33294&root=root&view=rev
Log:
In SetMagFieldObj() add additional argument to set ownership of magnetic field object.
For the backward compatibility, propagator by default owns given filed object.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
33296
=====
Author: matevz
Date: Thu Apr 29 16:18:32 2010
New Revision: 33296
URL: http://root.cern.ch/viewvc?rev=33296&root=root&view=rev
Log:
Initialize field ownership flag. When settin gnew field, check the old flag.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
33339
=====
Author: alja
Date: Mon May 3 10:47:09 2010
New Revision: 33339
URL: http://root.cern.ch/viewvc?rev=33339&root=root&view=rev
Log:
In TEveCalo2D update cellID cache when automatic scale is enabled.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
33424
=====
Author: matevz
Date: Fri May 7 17:38:31 2010
New Revision: 33424
URL: http://root.cern.ch/viewvc?rev=33424&root=root&view=rev
Log:
Render frame in outline mode.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveBoxGL.cxx
33428
=====
Author: matevz
Date: Fri May 7 20:26:32 2010
New Revision: 33428
URL: http://root.cern.ch/viewvc?rev=33428&root=root&view=rev
Log:
Preliminary commit -- towards generaliziation of handling of projected
tracks in topologically non-trivial projections.
Make variables in TEveTrack deprecated.
Introduce new variables in TEveTrackPropagator, extend GUI editor.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagatorEditor.h
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx
33431
=====
Author: matevz
Date: Sat May 8 17:45:42 2010
New Revision: 33431
URL: http://root.cern.ch/viewvc?rev=33431&root=root&view=rev
Log:
Add full support for handling of projected tracks in topologically non-trivial
projections. Use the following setters in TEveTrackPropagator:
void SetProjTrackBreaking(UChar_t x);
void SetRnrPTBMarkers(Bool_t x);
TMarker& RefPTBAtt() { return fPTBAtt; }
to tune the behaviour. The following modes are supported:
enum EProjTrackBreaking_e {
kPTB_Break, // break tracks
kPTB_UseFirstPointPos, // use first track-point half-space
kPTB_UseLastPointPos // use last track-point half-space
};
SetRnrPTBMarkers(Bool_t x) allows to enable drawing of a marker with
attributes RefPTBAtt() at break-points.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx
33432
=====
Author: matevz
Date: Sat May 8 19:41:52 2010
New Revision: 33432
URL: http://root.cern.ch/viewvc?rev=33432&root=root&view=rev
Log:
Increase precision of break-point determination.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
33448
=====
Author: matevz
Date: Mon May 10 17:48:34 2010
New Revision: 33448
URL: http://root.cern.ch/viewvc?rev=33448&root=root&view=rev
Log:
Use bounding-box of non-selectable scenes for frustum size determination also when in selection mode. This assures that near and far clipping planes stay the same and depth-buffer results can be interpreted with current camera parameters.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx
33478
=====
Author: matevz
Date: Wed May 12 13:24:42 2010
New Revision: 33478
URL: http://root.cern.ch/viewvc?rev=33478&root=root&view=rev
Log:
From Alja: mark clip-set as viewer-owned overlay element.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLClip.cxx
Revision
32528 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 10 17:02:54 2010 UTC (4 years, 10 months ago) by
matevz
File length: 10679 byte(s)
Diff to
previous 31517
Add support for projections of elements with non-trivial transformation
matrix. This works for TEvePointSet, TEveLine, TEveTrack and TEveBox.
It was already working for TEveGeoShape before.
Add class TEveBoxProjected and its GL-rendering class.
Add class TEvePoint -- 2D float point.
Implement 2D convex-hull search in static method
TEveShape::FindConvexHull().
Use ClassDefNV for TEveVector, TEvePoint and TEvePathMark classes.
Consistently include "Riostream.h".
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: 10147 byte(s)
Diff to
previous 30640
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
25422 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 16 20:50:49 2008 UTC (6 years, 4 months ago) by
matevz
File length: 9577 byte(s)
Diff to
previous 23140
TEveProjections
---------------
Add 'Float_t fMaxTrackStep' to allow control over maximum segment
lenght in projected tracks.
TEveProjectionManagerEditor
---------------------------
Add number entry for setting max projected track-step.
TEveTrackProjected
------------------
Move control for breaking projected tracks to TEveTrack.
In UpdateProjection() call TEveLine::ReduceSegmentLengths() so that
the tracks with high pt (or in low field) do not deviate significantly
from their true path.
TEveTrack
---------
Add controls for breaking of projected tracks:
a) static 'Bool_t fgDefaultBreakProjectedTracks' (moved from TEveTrackProjected)
b) enum EBreakProjectedTracks_e { kBPTDefault, kBPTAlways, kBPTNever }
with data member 'UChar_t fBreakProjectedTracks'
TEveLine
--------
New method 'void ReduceSegmentLengths(Float_t max)'.
Propagate marker-color and point/line rendering state to projecteds.
TEveTrackPropagator
TEveLineEditor
-------------------
Whitespace.
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: 9460 byte(s)
Diff to
previous 23087
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
23087 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 9 14:10:56 2008 UTC (6 years, 9 months ago) by
rdm
Original Path:
trunk/eve/src/TEveTrackProjected.cxx
File length: 9460 byte(s)
Diff to
previous 22539
From Alja, Bertrand and Matevz - merged branches/dev/fireworks 22550:23082.
Major changes imported by this merge are:
gl/
====
- reorganization of scene rendering in TGLViewer - render opaque
objects from all scenes first, then all transparent ones;
- improve saving of images from the GL-viewer so that the dialog boxes
and other windows do not result in black areas on the saved image;
- improved management of FTGL fonts accross GL contexts.
eve/
====
- new classes for visualization of calorimeter data in lego mode;
- allow fixed scale beyond given radius for fish-eye projections.
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/TEveTrackProjected.cxx
File length: 9285 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
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/TEveTrackProjected.cxx
File length: 7788 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.
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.