Log of /trunk/graf3d/eve/src/TEveProjectionManagerEditor.cxx
Parent Directory
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: 11091 byte(s)
Diff to
previous 25422
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: 10952 byte(s)
Diff to
previous 24314
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
24314 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 17 18:19:53 2008 UTC (6 years, 7 months ago) by
matevz
File length: 9911 byte(s)
Diff to
previous 23140
TEveManager
===========
Keep projections in an array and reuse them when changing
projection-types. This allows parameters set by users to be kept for
each projection type separately (only center is controlled by manager).
TEveProjections
===============
Introduce pre-scaling of projected objects: users can specify
different scaling factors for regions of projected coordinate space.
Fish-eye distortion is applied afterwards.
Demonstrated by the new tutorial 'projection_test_prescale.C'.
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: 9781 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/TEveProjectionManagerEditor.cxx
File length: 9781 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.
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.