[root] / trunk / graf3d / eve / inc / TEveShape.h Repository:
ViewVC logotype

Log of /trunk/graf3d/eve/inc/TEveShape.h

Parent Directory Parent Directory


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

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 3541 byte(s)
Diff to previous 37228
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 37228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 3 16:55:15 2010 UTC (4 years, 1 month ago) by matevz
File length: 3536 byte(s)
Diff to previous 36892
* TEveShape:
  Add functions:
    Bool_t IsBoxOrientationConsistentXx();
    void   CheckAndFixBoxOrientationXx();
  that check and fix box orientation so that the face normals point
  outwards.

* TEveBox, TEveBoxSet:
  Ensure proper box orientation.

Revision 36892 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 24 10:24:35 2010 UTC (4 years, 2 months ago) by matevz
File length: 3253 byte(s)
Diff to previous 36885
Also store state of fDrawFrame flag in shape-extract. For consistency rename fMiniOutline to fMiniFrame.

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: 3259 byte(s)
Diff to previous 33864
Sub-class TEveGeoShape and TEveGeoShapeProjected from TEveShape.
Move 'Bool_t fMiniOutline' to TEveShape and remove it elsewhere.
Propagate its state it TEveShape::CopyVizParams().

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: 3063 byte(s)
Diff to previous 32933
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 32933 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 9 17:28:46 2010 UTC (4 years, 9 months ago) by matevz
File length: 3195 byte(s)
Diff to previous 32539
- Rename TEvePoint to TEveVector2 -- it is confusing in view of
  TEvePointSet class.
  Template it for symmetry with TEveVector and TEveVector4.

- Move TEvePathMark into its own header / source file.

Revision 32539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 10 19:02:18 2010 UTC (4 years, 10 months ago) by matevz
File length: 3183 byte(s)
Diff to previous 32528
Make typedef public to allow invocation of the function using it as an argument from the dictionary bindings.

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: 3175 byte(s)
Diff to previous 32483
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 32483 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 5 19:31:54 2010 UTC (4 years, 10 months ago) by matevz
File length: 2877 byte(s)
Diff to previous 32478
* TEveBox
  New class do draw simple cuboid with minimal memory usage.
  Sub-class of TEveShape.

* TEveShape
  Add flag to switch outline drawing on and off.

* TEvePolygonSetProjected
  Honour the new flag in TEveShape.

Revision 32478 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Mar 5 14:20:48 2010 UTC (4 years, 10 months ago) by matevz
File length: 2244 byte(s)
* 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.

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