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

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

Parent Directory Parent Directory


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

Revision 37192 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 2 15:54:26 2010 UTC (4 years, 1 month ago) by matevz
File length: 15142 byte(s)
Diff to previous 36885
Add support for TGeoCompositeShapes in TEveGeoShape and in its 2D
projection class TEvePolygonSetProjected.

Revision 36885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 23 19:09:41 2010 UTC (4 years, 2 months ago) by matevz
File length: 14592 byte(s)
Diff to previous 36853
Sub-class TEveGeoShape and TEveGeoShapeProjected from TEveShape.
Move 'Bool_t fMiniOutline' to TEveShape and remove it elsewhere.
Propagate its state it TEveShape::CopyVizParams().

Revision 36853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 22 19:48:34 2010 UTC (4 years, 2 months ago) by matevz
File length: 14875 byte(s)
Diff to previous 32528
* TEvePolygonSetProjected:
  When searching for duplicate polygons, also check the reverse
  orientation.

* TEveGeoShape, TEveGeoShapeProjected, TEvePolygonSetProjected,
  TEveGeoShapeExtract:
  Introduce new flag 'Bool_t fMiniOutline' that instructs the renderer
  to minimize the shape outline.

  This still needs to be implemented for TEveGeoShape and
  TEvePolygonSetProjected.

* TEvePolygonSetProjectedGL:
  When mini-outline is requested, remove the inner lines.

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: 14347 byte(s)
Diff to previous 32478
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 32478 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 5 14:20:48 2010 UTC (4 years, 10 months ago) by matevz
File length: 14363 byte(s)
Diff to previous 31517
* TEveElement
  Introduce new function
    virtual void PaintStandard(TObject* id);
  that contains common code cut-n-pasted in Paint() method of several
  EVE classes. Many of them now simply call this method.
  Many includes became unnecessary and were removed in the processes.

* TEveShape
* TEvePolygonSetProjected
  TEveShape is a new abstract base-class for 2D/3D shapes that require
  fill color and outline color / line-width.
  This was extracted from TEvePolygonSetProjected class.
  TEvePolygonSetProjectedEditor was removed -- all functionality is in
  TEveShapeEditor.

All other changes are just simplifactions of the Paint() method.

Revision 31517 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 3 11:56:23 2009 UTC (5 years, 1 month ago) by matevz
File length: 15774 byte(s)
Diff to previous 30840
Move TEveVector declaratations to a separate file to avoid pulling in
TParticle.h throughout eve.

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: 15802 byte(s)
Diff to previous 30752
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 30752 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 15 18:55:34 2009 UTC (5 years, 3 months ago) by matevz
File length: 15809 byte(s)
Diff to previous 29772
From Alja & Matevz.

Make highlightning configurable on per class basis by introducing a
new virtual function in TGLLogicalShape:
   virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp) const;

The main use of this functionality will be to support individual
selection of calo towers and potentially other container elements that
support secondary selection.

For now it is used in TEvePolygonSetProjected to highlight only
outline of the polygon.

Revision 29772 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 12 18:45:02 2009 UTC (5 years, 5 months ago) by matevz
File length: 15781 byte(s)
Diff to previous 29754
Fix an issue with wrongly-initalized bounding-boxes for empty
containers.

Revision 29754 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 11 15:48:54 2009 UTC (5 years, 5 months ago) by matevz
File length: 15714 byte(s)
Diff to previous 28343
* TGLBoundingBox:
  - IsEmpty() was using Volume() to decide whether the box is empty.
    This caused scenes with 2d objects only to be ignored during scene
    selection in TGLViewerBase::PreRender().

* TGLCamera:
  - Use TGLBoundingBox::Diagonal() instead of Volume() also for
    calculation of OfInterest().

* EVE classes:
  - remove workarounds for the TGLBoundingBox bug that accumulated
    over time.

Revision 28343 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 23 21:34:31 2009 UTC (5 years, 9 months ago) by matevz
File length: 15741 byte(s)
Diff to previous 27157
Move TEveGeoShape class from within TEveGeoNode.h/cxx to its own
set of files.

In TEveGeoShape and TEveGeoNode introduce new functions SaveExtract()
and WriteExtract(). The old Save() function is now deprecated.

TEveGeoNode - add optional argument 'Bool_t leaves_only' to functions
that export shape-extracts.

Fix includes in TEvePolygonSetProjected and TEveGeoShapeExtract.

Revision 27157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 15 14:05:12 2009 UTC (6 years ago) by brun
File length: 15740 byte(s)
Diff to previous 26207
From Axel:
Replace all references to Text_t by char, still keeping the definition in Rtypes.h

Revision 26207 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 14 15:47:14 2008 UTC (6 years, 2 months ago) by matevz
File length: 15744 byte(s)
Diff to previous 26047
Avoid potential backward-iteration past the begin.

Revision 26047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 31 19:14:29 2008 UTC (6 years, 2 months ago) by matevz
File length: 15791 byte(s)
Diff to previous 26034
Merge rev 26045 from fireworks branch (and fix a warning).

Structural improvements. Fix memory leaks.

Revision 26034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 31 14:01:05 2008 UTC (6 years, 2 months ago) by matevz
File length: 15828 byte(s)
Diff to previous 24047
TEveElement
-----------
Add 'UChar_t fMainTransparency' data-member and accessors.

TEveGeoNode
-----------
Properly override SetMainTransparency().
Do not allow color / transparency editing for TGeAssemblies.

TEveGeoNodeEditor
-----------------
Remove transparency controls - use the ones from base-classes.

TEveDigitSet
TEvePolygonSetProjected
-----------------------
Remove transparency member - use the one from TEveElement.

TEveStraightLineSet
TEveTriangleSet
-------------------
Use main-color & transparency in Paint().

TEveTrackEditor
---------------
Fix label string (replaced during migration to new class names).

TEveTriangleSetEditor
---------------------
Do not need explicit transformation editor - provided by base-class.
Show number of vertices and triangles.

tutorials/eve/view3ds.C
-----------------------
Set color & transparency with more appropriate functions.

Revision 24047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 28 23:22:54 2008 UTC (6 years, 7 months ago) by matevz
File length: 15842 byte(s)
Diff to previous 23140
- TEveElement
  Add member 'TEveElement *fVizModel' that points to VizDB entry used
  for determination of element's visual properties.
  When setting the VizModel add it as a child to the model-element.
  This will allow for two-way communication between client and model
  elements.

- TEveManager
  When adding a model-element into VizDB increase its deny-destroy
  count. Use Destroy() not direct delete when removing it.

- TEvePolygonSetProjected
  - Override TEveElement::SetMainColor() so that we can keep line and
    fill colors in sync if this is desired.
  - Remove SetLine/FillColor(Pixel_t).

- TEveGeoNode
  Add some info and warning messages for unexpected conditions (which
  I now suspect might actually happen in some rare cases).

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: 15422 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/TEvePolygonSetProjected.cxx
File length: 15422 byte(s)
Diff to previous 21794
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 21794 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 21 21:11:46 2008 UTC (7 years ago) by matevz
Original Path: trunk/eve/src/TEvePolygonSetProjected.cxx
File length: 14682 byte(s)
Diff to previous 21310
Fix effc++ warnings.
Whitespace.

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/TEvePolygonSetProjected.cxx
File length: 14679 byte(s)
Diff to previous 21246
Fix coding convention violations.

Revision 21246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 6 17:55:44 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEvePolygonSetProjected.cxx
File length: 14627 byte(s)
Diff to previous 21215
Fix some CCVs.

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/TEvePolygonSetProjected.cxx
File length: 14617 byte(s)
Diff to previous 21198
Prefix all enum values with 'k'.

Revision 21198 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 5 02:31:27 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEvePolygonSetProjected.cxx
File length: 14612 byte(s)
Diff to previous 21168
Prefix enum types with 'E'.

Fix fix member names to begin with f[A-Z].

Fix function member names to begin with a capital letter.

Add some docs.

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/TEvePolygonSetProjected.cxx
File length: 14434 byte(s)
Diff to previous 21167
Rename structures to end with '_t'.

Revision 21167 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 4 01:01:27 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEvePolygonSetProjected.cxx
File length: 14416 byte(s)
Diff to previous 21138
Fix warnings about size_t.
Add some docs.
Change magnetic field units from kGauss to Tesla.

Revision 21138 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 30 23:06:23 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/src/TEvePolygonSetProjected.cxx
File length: 14401 byte(s)
Diff to previous 21054
Alja: add documentation for the projection 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/TEvePolygonSetProjected.cxx
File length: 14244 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/TEvePolygonSetProjected.cxx
File length: 14244 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