[root] / trunk / graf3d / gl / src / TGLUtil.cxx Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/src/TGLUtil.cxx

Parent Directory Parent Directory


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

Revision 47027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 4 06:17:34 2012 UTC (2 years, 2 months ago) by matevz
File length: 136801 byte(s)
Diff to previous 46574
Add support for mac retina display. In practice it means we need to support a
scaled coordinate system within GL windows. We use full resolution in GL while
GUI and window system work in points that are 2x2 pixels.

Revision 46574 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 16 17:56:15 2012 UTC (2 years, 3 months ago) by matevz
File length: 133695 byte(s)
Diff to previous 46372
Move enums away from global namespace:
- EOverlap is now in namespace Rgl;
- EClipType is now in class TGLClip;
- EPosition and EManipType were not used and have been removed.

EGLCoordType and EGLPlotType are left in top-level. In these two enums all
names begin with kGL so there is less chance for collision.

Revision 46372 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 6 03:18:11 2012 UTC (2 years, 3 months ago) by matevz
File length: 133642 byte(s)
Diff to previous 46215
* TGLMatrix:
  Add function Bool_t IsScalingForRender() that returns true if length of base
  vectors is significantly different than unity.

* TGLPhysicalShape:
  Cache state of fTransform.IsScalingForRender() in a bool member.
  When this is true, enable automatic scaling of normals during rendering.

* TGLLogicalShape:
  Add static Bool_t fgIgnoreSizeForCameraInterest allowing a user to prevent
  RGL from hiding very small objects - at least a pixel is always drawn. One
  should invoke:
    TGLLogicalShape::SetIgnoreSizeForCameraInterest(kTRUE);

Revision 46215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 27 11:04:24 2012 UTC (2 years, 3 months ago) by rdm
File length: 133059 byte(s)
Diff to previous 42953
Remove also Linux Mips and SGI Irix platform support.

Revision 42953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 9 22:40:19 2012 UTC (2 years, 11 months ago) by matevz
File length: 133078 byte(s)
Diff to previous 41891
Return the error code from TGLUtil::CheckError().

Revision 41891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 10 22:46:31 2011 UTC (3 years, 2 months ago) by pcanal
File length: 133058 byte(s)
Diff to previous 38817
Remove all assigned but unused variable discovered by g++ 4.6.1 (including one completely nop function)

Revision 38817 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 13 09:32:44 2011 UTC (3 years, 9 months ago) by couet
File length: 133049 byte(s)
Diff to previous 37792
- From Timur:
  Fix the axis position and size when tree->Draw("x:y:z");
  is displayed in the GL viewer.

Revision 37792 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 18 10:06:41 2011 UTC (4 years ago) by couet
File length: 130083 byte(s)
Diff to previous 36560
- From Timur:
  New option GLCOL to draw TH3 using semi-transparent colored boxes.

Revision 36560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 9 15:26:23 2010 UTC (4 years, 2 months ago) by couet
File length: 127589 byte(s)
Diff to previous 34932
- From Timur: more fixes, close the polygons if needed.

Revision 34932 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 22 18:05:36 2010 UTC (4 years, 5 months ago) by matevz
File length: 130301 byte(s)
Diff to previous 34006
* TGLFaceSet
  Add static flag fgEnforceTriangles and function 'void EnforceTriangles()'.
  When fgEnforceTriangles is set, all tesselations will be automatically
  converted into triangle-only meshes.
  This is needed to export TGeo shapes and CSG meshes to external
  triangle-mesh libraries that can not handle arbitrary polygons.

* TGLUtil
  White-space.

* csgdemo.C
  Use the same number of segments for display and export.

Revision 34006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 21 10:36:05 2010 UTC (4 years, 7 months ago) by matevz
File length: 130311 byte(s)
Diff to previous 33955
Merge the following revisions from branches/dev/fireworks:
33974, 33980, 33983, 33984, 33994


33974
=====

Author: alja
Date: Thu Jun 17 22:12:00 2010
New Revision: 33974

URL: http://root.cern.ch/viewvc?rev=33974&root=root&view=rev
Log:

TEveCaloLegoGL:
Fix picking of rebinned 3D towers.

TEveCalo3DGL:
Fix highlight rendering.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx


33980
=====

Author: matevz
Date: Fri Jun 18 18:30:34 2010
New Revision: 33980

URL: http://root.cern.ch/viewvc?rev=33980&root=root&view=rev
Log:
* TGLOverlayElement
  Add state enum member to allow:
  - hiding of overlay elements;
  - preventing overlay events to reach them.
  TGLViewerBase::RenderOverlay() not takes bitfield of states that
  should be drawn.

* TGLCameraGuide
  New overlay element showing axis orientation.

* TGLRnrCtx
  Introduce standard functions to setup projection matrix for 2D /
  screen based operations and properly applying the selection matrix
  when it is active, too:
    void ProjectionMatrixPushIdentity();
    void ProjectionMatrixPop();

* TGLUtil
  Cleanup usage of static float arrays in surroundings of TGLUtil.

Added:
    branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h   (with props)
    branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx   (with props)
Modified:
    branches/dev/fireworks/graf3d/gl/inc/LinkDef.h
    branches/dev/fireworks/graf3d/gl/inc/TGLCamera.h
    branches/dev/fireworks/graf3d/gl/inc/TGLManip.h
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h
    branches/dev/fireworks/graf3d/gl/inc/TGLRnrCtx.h
    branches/dev/fireworks/graf3d/gl/inc/TGLUtil.h
    branches/dev/fireworks/graf3d/gl/inc/TGLViewerBase.h
    branches/dev/fireworks/graf3d/gl/src/TGLAnnotation.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLLightSet.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRnrCtx.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLRotateManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLScaleManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLTransManip.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLUtil.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
    branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLCameraGuide.h
            ('svn:keywords' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx
            ('svn:eol-style' added)

Propchange: branches/dev/fireworks/graf3d/gl/src/TGLCameraGuide.cxx
            ('svn:keywords' added)


33983
=====

Author: matevz
Date: Fri Jun 18 19:19:47 2010
New Revision: 33983

URL: http://root.cern.ch/viewvc?rev=33983&root=root&view=rev
Log:
Add on/off state setter void SetBinaryState(Bool_t).

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLOverlay.h


33984
=====

Author: matevz
Date: Fri Jun 18 19:35:51 2010
New Revision: 33984

URL: http://root.cern.ch/viewvc?rev=33984&root=root&view=rev
Log:
Replace logical and with binary one.

Modified:
    branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx


33994
=====

Author: matevz
Date: Sat Jun 19 14:09:04 2010
New Revision: 33994

URL: http://root.cern.ch/viewvc?rev=33994&root=root&view=rev
Log:
Add 3 new data-members to control mouse/arrow key handling:
   Float_t           fArrowKeyFactor;
   Float_t           fMouseDragFactor;
   Float_t           fMouseWheelFactor;

These are take from rootrc, eg:
OpenGL.EventHandler.ViewerCentricControls:  1
OpenGL.EventHandler.ArrowKeyFactor:        -1.0
OpenGL.EventHandler.MouseDragFactor:       -1.0
OpenGL.EventHandler.MouseWheelFactor:      -1.0

Modified:
    branches/dev/fireworks/graf3d/gl/inc/TGLEventHandler.h
    branches/dev/fireworks/graf3d/gl/src/TGLEventHandler.cxx

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: 129916 byte(s)
Diff to previous 33864
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 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: 129398 byte(s)
Diff to previous 32807
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 32807 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 29 11:40:58 2010 UTC (4 years, 9 months ago) by matevz
File length: 129147 byte(s)
Diff to previous 32785
* TGLAxisPainter
  Store all-zeroes regexp as member and optimize it.

* TGLRect
  Fix calculation of diagonal, screwed on previous commit.

Revision 32785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 26 15:42:03 2010 UTC (4 years, 10 months ago) by matevz
File length: 129073 byte(s)
Diff to previous 31622
Move some inline function to source. Provide viewport getter for TGLViewer.

Revision 31622 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 09:46:28 2009 UTC (5 years, 1 month ago) by couet
File length: 128384 byte(s)
Diff to previous 31331
- Initialize member fHeight.
  (found by coverity)

Revision 31331 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 19 19:29:01 2009 UTC (5 years, 2 months ago) by matevz
File length: 128372 byte(s)
Diff to previous 29755
In TGLUtil::RenderCrosses() poly-marker rendering also draw a pixel big dot at the center of each cross to avoid flickering when crosses become too small.

Revision 29755 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 11 17:38:16 2009 UTC (5 years, 5 months ago) by matevz
File length: 127631 byte(s)
Diff to previous 29676
* TGLManip:
  - Handle zero-length bbox axes in CalcDrawScale().

* TGLUtil:
  - Break-up RenderPolyLine() into two additional helper functions:
    static void BeginAttLine(const TAttLine& aline, Int_t pick_radius=0, Bool_t selection=kFALSE);
    static void EndAttLine(Int_t pick_radius=0, Bool_t selection=kFALSE);

Revision 29676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 4 16:18:07 2009 UTC (5 years, 5 months ago) by matevz
File length: 127087 byte(s)
Diff to previous 29526
Add support for control over viewer-global point-size and line-width
scaling. Additionally, allow wireforame and outline line widths to be
specified separately (on viewer / scene / scene-info level).

This will allow for scaling of pixel-based objects (lines and points) when
saving of screenshots with very high resolution is
implemented.

Basic support is impemented across TGLViewer, TGLScene, TGLRnrCtx and
TGLUtil.

Classes that used glPointSize and glLineWidth were modified to call
corresponding static function in TGLUtil class.

Controls were added to TGLViewerEditor (under Style tab).

Revision 29526 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 20 17:41:53 2009 UTC (5 years, 6 months ago) by matevz
File length: 124900 byte(s)
Diff to previous 28818
gl/
===
- Introduce common base class TGLPlot3D for wrappers over plot-painters.
- Move code for plot-painter instantiation from TGLScenePad to into TGLPlot3D.
- TGLAxisPainter - add option to use markup color from the current color-set
  instead of axis/label/title colors from TAttAxis.

eve/
====
- Add class TEvePlot3D - it wraps a TH2/TH3/TF2 object and draws it with
  given option string. TEveTrans can be applied over it - so the plot
  can be positioned/scaled to fit into a more complex scene.
- There are still problems with usage of depth-buffer in plot-painters so
  the plots overlay each other in somewhat random fashion.
- See tutorials/eve/test_glplot.C.

Revision 28818 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 4 22:25:39 2009 UTC (5 years, 7 months ago) by rdm
File length: 124901 byte(s)
Diff to previous 28607
use the same TesselatorFunction typedef as in FTVectoriser.cxx to fix a
problem on MacOS X 10.4 (this typedef should be in one include and be used
by the .cxx's that need it, to be done).

Revision 28607 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 13 15:11:33 2009 UTC (5 years, 8 months ago) by matevz
File length: 124618 byte(s)
Diff to previous 28510
Allow clipping object to be fixed by user - until now it was updated
on every redraw.

- TGLClip: Add 'Bool_t fValid' data-member and accessor methods:
   Bool_t IsValid() const;
   void   Invalidate();
Honour this in concrete clip classes.

- TGLClipSet: Add methods:
   void  SetupCurrentClip(const TGLBoundingBox& sceneBBox);
   void  SetupCurrentClipIfInvalid(const TGLBoundingBox& sceneBBox);
   void  InvalidateClips();
   void  InvalidateCurrentClip();
Add data-member 'TGLBoundingBox fLastBBox' to cache the last scene
bounding box that was used to resize the clip-set.

- TGLViewer: Add 'Bool_t fClipAutoUpdate' data-member and accessors:
   Bool_t GetClipAutoUpdate() const;
   void   SetClipAutoUpdate(Bool_t x);
Use this member to steer clip-object updates.

-TGLPlane: Move many unnecessarily inline functions to cxx file.

Revision 28510 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 11 07:52:29 2009 UTC (5 years, 8 months ago) by brun
File length: 121870 byte(s)
Diff to previous 28464
From Timur:
Small fix for gl-hist painters and two new classes - density estimator and TGL5D - to draw set of iso-surfaces.

Revision 28464 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 6 12:37:21 2009 UTC (5 years, 8 months ago) by brun
File length: 121512 byte(s)
Diff to previous 28378
From Timur:
New GL interface for TPad (to be documented in next check-in)

Revision 28378 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 28 15:40:53 2009 UTC (5 years, 8 months ago) by matevz
File length: 121474 byte(s)
Diff to previous 28210
TGLRnrCtx
- Add function ColorOrForeground(Color_t col) which sets given color
or falls back to default foregorund in col is the background color.

TGLFontManager
- Rewrite GetFontSize(Float_t size, Int_t min, Int_t max) to use
TMath::BinarySearch().
- Add function GetFontSize(Float_t size) that uses min, max from the
available font-sizes.

TGLAxisPainterBox
- New class for painting of 3D axes around a box.

TF2GL, TH2GL
- Use TGLAxisPainterBox for painting of axes.

TH3GL
- New class for rendering of TH3 objects.

TGLScenePad
- Proper handling of TH3.

TGLViewer
- When constructed with a given TPad, set background and foreground
colors accordingly.

TGLUtilColor
- Add cache-variable fIndex that makes it easier / more optimal to
compare and retrieve color-indices.

TGLCameraOverlay
- Use TGLFontManager::GetFontSize() without limits.

TGLParametricEquationGL
- Gray-space changes.

Revision 28210 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 15 08:03:19 2009 UTC (5 years, 9 months ago) by matevz
File length: 121158 byte(s)
Diff to previous 28197
Fix compilation warning in:
  void TGLUtil::Color(Color_t color_index, Float_t alpha);

Add the variant of the above function with 'UChar_t alpha' argument.

Revision 28197 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 14 13:59:27 2009 UTC (5 years, 9 months ago) by matevz
File length: 120840 byte(s)
Diff to previous 27173
Merge the following revisions from the fireworks branch:
  -r 27692:27867
  -c 27876
  -r 28012:28187

================================================================================
27693

TEveCalo:
Set bounding box when calo data empty.

TEveCaloLegoGL:
TGLAxisPainter:
Draw axis title in TGLAxisPainter::PaintAxis().

--------------------------------------------------------------------------------
27694

Forget to check-in this file in revision 27693.

--------------------------------------------------------------------------------
27695

Don't draw frame and call TGLAxisPainter::Paint() if calo data empty.

--------------------------------------------------------------------------------
27699

Fix issues reported by valgrind.

--------------------------------------------------------------------------------
27758

Return viewer in TEveViewer::SpawnGLViewer and TEveViewer::SpawnGLEmbeddedViewer().

--------------------------------------------------------------------------------
27767

Unset event handler when destroying TGLWidget. This is important in case destruction of TGLWidget is called with timeout.

--------------------------------------------------------------------------------
27840

Add possibility to create different icon boxes in
TEveCompositeFrame. Use static function pointer fgIconBarCreator to change default behavior.

Remove oboslete function TEveCompositeFrame::ReplaceIconBox().

--------------------------------------------------------------------------------
7856

Bug fix: Get font size calculating projected axis length at the Z-title position.

--------------------------------------------------------------------------------
27857

Move to real world coordinates. Add line-set for test.

--------------------------------------------------------------------------------
27867

TGLViewer:
  Add function:
    void ResetInitGL()
  This is needed if GL-context is destroyed from outside.

  Call it from derived classes when creating and destroying GL-widget.

--------------------------------------------------------------------------------
27876

In line set add possibility to disable depth test, i.e. draw lines/markers in front.

--------------------------------------------------------------------------------
28013

Fix memory leak in TEveCalo2D.


--------------------------------------------------------------------------------
28048

In HandleCrossing() ignore grab and ungrab events. Several window managers produce them nowadays (fvwm2, x-on-mac, sawfish).

--------------------------------------------------------------------------------
28050

Simplify macro.

--------------------------------------------------------------------------------
28106

URL: http://root.cern.ch/viewcvs?rev=28106&root=root&view=rev
Log:
Add data-members and accessors for controlling brightness of front,
side and speulcar lights.

--------------------------------------------------------------------------------
28114

TGLPShapeObjEditor
==================
Remove obsolete data-members and enum entries.

TGLUtil
=======
New class TGLColor - using this will simplify color management in
TGLViewer and TGLRnrCtx.

TEveUtil
========
Simplify implementation of TEveUtil::ColorFromIdx() functions.

--------------------------------------------------------------------------------
28144

Add dtor for TGLColor.

--------------------------------------------------------------------------------
28161

URL: http://root.cern.ch/viewcvs?rev=28161&root=root&view=rev
Log:
Extend window management demo.

--------------------------------------------------------------------------------
28162

Add support several GL color-sets - each defines colors for background,
foreground, outline, markup and for outlines of selected and
highlighted objects.


GL/
===

TGLUtil   - add new class TGLColorSet.

TGLRnrCtx - add color-set stack.

TGLViewer - create two color-sets by default - for light and dark
background. These can be switched with the 'e' key now.

TGLScene  - decrease polgon-offset for outline-mode fill-pass from (1,
1) to (0.5, 0.5) which is sufficient.

Use/support color-set functionality in other modified classes.


EVE/
====

TEvePolygonSetProjectedGL - skip outline pass.

TEveProjectionAxesGL - skip outline pass and slightly widen the depth
range so that the text is visible in outline mode, where
polygon-offset is applied during the fill-pass.

--------------------------------------------------------------------------------
28168

Add support for a global GL color-set shared among several (all)
viewers.

TGLViewer - add static data-members and functions to handle global
color-set. Add methods that allow switching between global/private
color-sets for a given viewer.

TGLViewerEditor - Disable backgound-color widget when the viewer uses
global color-set.

TGLCameraOverlay - use foreground color for some markup rendering.

In two tutorials use the new API for setting of the background color.

--------------------------------------------------------------------------------
28187

Put back the old method for setting background color and mark it as deprecated.

Revision 27173 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 16 18:48:33 2009 UTC (6 years ago) by matevz
File length: 113677 byte(s)
Diff to previous 26192
TF2GL, TH2GL
------------
Disable GL_COLOR_MATERIAL before drawing the plotters.

TGLUtil
-------
Add function Move3LF().
Remove some redundant comments.

TGLScenePad
-----------
Add comment about how I'd expect the histograms to be resized (but can
not be done at the moment).

Revision 26192 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 14 13:55:05 2008 UTC (6 years, 2 months ago) by matevz
File length: 113853 byte(s)
Diff to previous 26153
With Axel: Rewrite GLU tesselator wrappers without usage of templates. Properly decalare the callback functions to be 'extern C'.

Revision 26153 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 11 21:52:56 2008 UTC (6 years, 2 months ago) by matevz
File length: 114196 byte(s)
Diff to previous 26151
From Bertrand: one more missing CALLBACK after ifdef cleanup.

Revision 26151 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 11 21:45:22 2008 UTC (6 years, 2 months ago) by matevz
File length: 114187 byte(s)
Diff to previous 26148
From Bertrand:
Fix compilation on windows by adding CALLBACK to function pointer type
declaration.

From me:
#define CALLBACK to <null> if it is not defined to allow compilation on
other platforms.

Revision 26148 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 11 19:58:19 2008 UTC (6 years, 2 months ago) by matevz
File length: 114194 byte(s)
Diff to previous 26068
TGLUtil::GetDrawTesselatorXyzz
------------------------------
Four different tesselators are needed depending on what type
(float/double) and size (3d/4d) of data is being fed into them.

Thanks to Bertrand for spotting and localizing this problem.


TGLFaceSet
TEvePolygonSetProjectedGL
-------------------------
Use new functions for obtaining the tesselators.

Revision 26068 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 3 17:31:14 2008 UTC (6 years, 2 months ago) by matevz
File length: 112807 byte(s)
Diff to previous 25245
Move common code for creation of GLUtesselator object from TGLFaceSet
and TEvePolygonSetProjectedGL to TGLUtil.

Use GLUtesselator instead of deprecated typedef GLUtriangulatorObj.

Revision 25245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 25 21:44:09 2008 UTC (6 years, 4 months ago) by matevz
File length: 111711 byte(s)
Diff to previous 24214
Merge changes from the eve-dev branch (-r 25202:HEAD). This makes trunk up to date with all developments in eve/ and gl/. eve-dev branch is now obsolete and will be removed.

Revision 24214 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 14:48:35 2008 UTC (6 years, 7 months ago) by matevz
File length: 111708 byte(s)
Diff to previous 23140
TGLObject and subclasses
-----------------------------------------

Introduce new member 'Bool_t TGLObject::fMultiColor' that specifies
whether the class uses multiple colors for its rendering. This
information is important when drawing highlight or outlines around
objects as display-lists can not be used if color-state changes are
stored in them.

With this modification most of the logick for
  virtual Bool_t TGLLogicalShape::ShouldDLCache(...)
can be implemented in TGLObject version.

Most of the GL-rendering classes have been fixed to properly set the
fMultiColor state and rely on the TGLObject::ShouldDLCache().


TGLPhysicalShape
----------------

Use TGLLogicalShape::Draw() instead of DirectDraw() when drawing
highlights to allow usage of display-lists for classes that do not use
multiple colors.


TGLUtil
-------

Decrease the default draw-quality for DrawLine/Cylinder/Sphere/Disk to
10. With software rendering the previous value of 60 caused very low
refresh rates.

Introduce two inner classes TDrawQualityModifier and
TDrawQualityScaler allowing easy/safe modification of draw-quality for
the above functions.

Introduce inner class TColorLocker allowing easy/safe modification of
color-lock state.

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: 111898 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/gl/src/TGLUtil.cxx
File length: 111898 byte(s)
Diff to previous 22595
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 22595 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 11 16:15:27 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 110589 byte(s)
Diff to previous 22539
From Timur:
Palette drawing for "surf", "lego" and "glbox" options (eg. "glsurf1z", etc.)
Changes in texturing - linear interpolation of colors was removed, so contours are more "sharp"
now.

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/gl/src/TGLUtil.cxx
File length: 110403 byte(s)
Diff to previous 22488
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 22488 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 6 16:04:47 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 110631 byte(s)
Diff to previous 21702
remove first batch of warning reported by gcc 4.3:
- warning: suggest parentheses around && within ||
- warning: suggest explicit braces to avoid ambiguous if else

Revision 21702 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 14 18:55:14 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 110629 byte(s)
Diff to previous 21653
In TGLScene/TGLViewer add two timeouts for high-quality and
low-quality (during rotation etc) scene rendering. Expose both time
limits via TGLViewerEditor.

In TGLCamera::OfInterest() remove redundant test for physical-shape
bbox volume and optimize the remaining bbox diagonal length test.

Remove blanks from the eols.

Revision 21653 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 20:23:15 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 110668 byte(s)
Diff to previous 21565
Move code for rendering of poly-markers and poly-lines from TEveGLUtil
to TGLUtil and remove TEveGLUtil class.

Extend picking region also for fat lines so that lines can be picked
also on their edges not only at the very center.

Fix rendering of anitaliased points in TEveStraightLineSetGL.

Honour wireframe and outline modes in TEveTriangleSetGL.

Add new tutorial pointset_test.C.

Revision 21565 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 28 12:28:46 2007 UTC (7 years ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 104197 byte(s)
Diff to previous 21252
Functions referencing a static global cannot be inlined.

Revision 21252 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 7 01:39:32 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 103169 byte(s)
Diff to previous 20882
Changes for marking of top-level objects in GL window.
- TGLLogicalShape: move DirectDraw() from protected to public.
- Implement color-locking for object rendering.
- Wrap all calls to glColor() to go via TGLUtil::Color().

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 99637 byte(s)
Diff to previous 20363
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20363 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 16 08:23:27 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 99637 byte(s)
Diff to previous 20292
From Timur:
Fix problem reported at: http://root.cern.ch/phpBB2/viewtopic.php?t=5595&sid=6404e6f8698a5d871642febd9bd0636a

Revision 20292 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 10 14:08:48 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 99657 byte(s)
Diff to previous 19826
From Matevz & Alja

	* base/inc/TVirtualViewer3D.h:
	Add function virtual void ObjectPaint(TObject*, Option_t*).


/**************************************************************************/

	* ged/src/TGedEditor.cxx:
	When adding top-level TGFrame for the extra tabs specify layout
	hints with kLHintsExpandX.


/**************************************************************************/

	* gl/inc/TGLScenePad.h:
	* gl/src/TGLScenePad.cxx:
	Implement virtual TVirtualViewer3D::ObjectPaint().

	* gl/src/TGLCamera.cxx:
	* gl/inc/TGLCamera.h:	
	* gl/src/TGLPerspectiveCamera.cxx:
	* gl/inc/TGLPerspectiveCamera.h:	
	* gl/src/TGLOrthoCamera.cxx:
	* gl/inc/TGLOrthoCamera.h:
	Introduce two transformation matrices to clearly define movement
	of camera around the center point. The first transformation matrix
	fCamBase defines the coordinate system placed at the camera center
	point with camera up-vector as the third base vector. The second
	transformation matrix fCamTrans defines the camera transformation
	relative to fCamBase.

        Implement a common Truck(), Rotate() and Dolly() function for
	orthographic and perspective camera.

	Implement an option to define camera center point
	externally. Center can also be determined via picking.

	* gl/src/TGLUtil.cxx:
	* gl/inc/TGLUtil.h:
	TGLMatrix: add new functions to get/set the base vectors
	directly.

	TGLUtil: add member UInt_t fgDefaultDrawQuality.

	TGLRect: bugfix in Diagonal(), integer calculation overflowed.

	* gl/src/TGLViewer.cxx:
	* gl/inc/TGLViewer.h:
	Make interface to draw camera center point.
	Add option to disable/enable depth test when drawing axis guides. 

	* gl/src/TGLViewerEditor.cxx:
	* gl/inc/TGLViewerEditor.h:
	Add GUI to manipulate camera center and to disable/enable depth
	test when drawing axis guides.

	* gl/src/TGLClipSetEditor.cxx:
	Change layout of labeled number entries.

	* gl/src/TGLLightSet.cxx:
	Fix positioning of front light. White-space consolidation.

	* gl/src/TGLLightSetEditor.cxx:
	* gl/inc/TGLLightSetEditor.h:
        Put GUI for the 6 lights in two columns.


/**************************************************************************/

	* tutorials/gl/glViewerExercise.C:
	Follow-up on changes in TGLCamera. Enable rotation on
	orthographic camera.

	* tutorials/gl/glViewerLOD.C:
	Workourond for cint bug with switch statements.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 93789 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 93839 byte(s)
Diff to previous 19161
remove :$ from tag line

Revision 19161 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 24 18:48:11 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 93849 byte(s)
Diff to previous 19000
From Matevz
Rotate T2F/TH2 objects so that their up-direction is consistent with the gl-viewer convention.

Revision 19000 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 11 19:56:34 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 93269 byte(s)
Diff to previous 18426
From Matevz:

Major restructuring of GL viewer-scene relationship (Matevz)
===================================================

The main idea was to generalize current GL infrustructure so that the
following features can be done in the future:

1. Full pad rendering via GL including 3D histo/func painters and 2D graphics.

2. Implementation of GL canvas (with independent viewers serving as pads).

3. Multi-view event-visualization front-end.

4. Inclusion of external scenes (non-ROOT-gl) in ROOT viewer.
   Rendering of ROOT scenes in external GL frameworks.


Changes on the code level
-------------------------

0. Extend current scene/viewer classes into a 2-level class hierarchy.
   New classes TGLViewerBase and TGLSceneBase.

1. Allow scenes to be shared among viewers. View-specific scene-cache
   needs to be kept at the viewer side.

2. Viewer now manages a list of scenes. It is possible to put together
   a combination of scenes (e.g. one showing geometry, another one tracks
   and yet another clusters). Each scene can define its own clipping object.

3. Provide API for fine-grained control over rendered object removal,
   creation and update. This allows for efficient scene-updates.

4. Disentangle selection, clipping and other markup objects from
   within viewer-scene singleton.
   New classes TGLClipSet, TGLManipSet.

6. Disentangle selection management.

7. Separate overlay rendering to allow any number of active GL-GUI
   elements (like manipulators are now).
   New classes TGLOverlayElement.

8. Trailing white space has been removed in all files.


Restructure low-level interface to OpenGL (Timur)
=========================================

1. Allow sharing GL resources among viewers.

2. Do not bind GL-output (windowed or offscreen) to ROOT GUI.

New classes TGLContext, TGLFormat, TGLWidget.

This oboletes TGLKernel and TVirtualGL classes.

Revision 18426 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 29 12:08:32 2007 UTC (7 years, 9 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 83474 byte(s)
Diff to previous 17561
- From Timur:
  First implementation of the 3D iso surfaces with GL. Example:

  {
     gStyle->SetCanvasPreferGL(true);
     TCanvas * canvas = new TCanvas("C","C",600,600);
     ntuple->Draw("px:py:pz>>h3");
     h3->SetContour(5);
     h3->Draw("gliso");
  }

  (Still needs improvments)

Revision 17561 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 15:10:49 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 83253 byte(s)
Diff to previous 17553
-Add include "TROOT.h" in all implementation files that were assuming
that TROOT was included via TClass.h


-In TClass.h:
 --Remove the include of TROOT.h
 --add the following static member
   static IdMap_t    *fgIdMap;          //Map from typeid to TClass pointer

 --add the following functions:
   static void           AddClass(TClass *cl);
   static void           RemoveClass(TClass *cl);

 --Replace the inline definitions of GetClass functions by
   template <typename T> TClass* GetClass(      T**       /* dummy */) { return GetClass((T*)0); }
   template <typename T> TClass* GetClass(const T**       /* dummy */) { return GetClass((T*)0); }

-In TClass.cxx:
 --Instead of forwarding the calls to gROOT->GetClass, move the code
  originally in TROOT in the TClass::GetClass functions
 --Move class TMapTypeToTClass from TROOT to TClass.

Revision 17553 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 10:06:51 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 83235 byte(s)
Diff to previous 17525
Add explicit inclusion of "TClass.h" in view of a future removal of TClass.h
from TQObject.h.

Revision 17525 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 14:06:54 2007 UTC (7 years, 11 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 83214 byte(s)
Diff to previous 17338
- From Timur:

1. TGLParametricEquation. New class to define parametric surface. It can be
   defined by a) three equation in a "string form" (mathematical expression,
   the same as TF2) and as a pointer to function.
2. TGLParametricPlot. Painter to draw parametric surface. It has most of
   features other gl-painters have - box cut, zooming etc. + 21 color
   "schemes": you can change the color of surface (which is under cursor)
   by pressing 's' or 'S' - the same as TGLTF3Painter + wireframe mode ('w' or
   'W' key - temporary solution).

Revision 17338 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 16:10:11 2007 UTC (8 years ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 73818 byte(s)
Diff to previous 17322
Remove TMath.h from TH1.h and add TMath.h to all files previously assuming TMath.h
via TH1.h
This should complete the changes related to TMath.

Revision 17322 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 11:30:47 2007 UTC (8 years ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 73799 byte(s)
Diff to previous 17208
Remove dependencies on TMath.h

Revision 17208 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 09:33:29 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 73857 byte(s)
Diff to previous 16910
From Timur:
Small fix for user interaction in 16 bit mode.

Revision 16910 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 10:45:13 2006 UTC (8 years, 2 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 73974 byte(s)
Diff to previous 16607
- From Timur:
  * Comments added.
  * Box movement fixed - box cannot leave plot's area now.
  * TF3 fixed (selection was incorrect after box cut stopped movement).

Revision 16607 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 24 14:20:41 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 73948 byte(s)
Diff to previous 16397
From Timur,
Extend the TVirtualGL interface to support 16 & 32 bit display mode.
This is required for the new slicing algorithm (eg to run the tutorial
glbox.C under Windows in 16 bits display mode)

Revision 16397 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 2 12:55:47 2006 UTC (8 years, 3 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 71474 byte(s)
Diff to previous 16183
From Timur:
-  Mods for box painter, adding dynamic slicing for TH3 hist.
   try $ROOTSYS/tutorials/glbox.C

Revision 16183 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 31 13:44:37 2006 UTC (8 years, 4 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 71463 byte(s)
Diff to previous 15770
From Timur:

New classes:

1.
TGLBoxPainter - implements "glbox" option for TH3, shows bin contents as
boxes, which sizes are proportional to bin content. "glbox1" is the same,
as previous, but with spheres instead of boxes. Slices (XOY/YOZ/XOZ)
are now drawn as sets of rectangles.

2.
TGLLegoPainter. Changes: removed all stuff, which works with gl
projections, modelview transformations, textures, etc.

3.
TGLPlotPainter. Added common parts of different painters:
generic Paint function, PlotSelected, etc.

4.
TGLOrthoCamera. Added operations, required by gl hist painters.

5.
TGLHistPainter. Class completely changed (previously known as
TGLPadHistPainter).

6.
TGLPlotBox. New class, draws back box for different kinds of plots,
highlights planes which are under cursor, makes some sizes calculations
(converts 3d into 2d coords) etc.

7.
TGLSurfacePainter. New class, for different surf options.
Supports cartesian, polar, cylindrical and spherical coords.
Slices (XOY, YOZ, XOZ), projections.

8.
TGLTF3. New class, draws TF3. No slices available now.

9.
TGLUtil. Added new auxilary classes
TGLLevelPalette, TGL2DArray, functions, required by different plot
painters,
TGLEnableGuard and TGLDisableGuard removed from RootGL namespace into
global namespace.

Revision 15770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 11 16:37:19 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 34996 byte(s)
Diff to previous 15406
Start development version 5.13

From Axel:
prevent a "comparison between signed and unsigned" warning.

Revision 15406 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 13 15:43:39 2006 UTC (8 years, 7 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 34985 byte(s)
Diff to previous 14097
From Timur:

TGLPadHistpainter/TGLAxisPainter/TGLLegoPainter - new hist-painter
infrastructure.

First version of TGLLegoPainter, the new class to support different types
of legos:
gl + lego(1)/lego2 + pol/cyl/sph
gl + lego3

TGLUtil : Small auxilary classes.

IMPORTANT: this lego painter is still experimantal and works only if
it's enabled in system.rootrc. By default, TGLHistPainter is used now.
To enable this new system the line:

Plugin.TGLHistPainter: * TGLHistPainter RGL "TGLHistPainter(TH1*)"

Must be replaced with

Plugin.TGLHistPainter: * TGLPadHistPainter RGL "TGLPadHistPainter(TH1*)"

in $ROOTSYS/etc/system.rootrc

Revision 14097 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 23 16:44:52 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 32979 byte(s)
Diff to previous 14073
From Richard:
Code cleanup.

This patch is the last contribution from Richard to the project.
Many thanks to him for his work with the GL viewer and the impressive
improvements in the past few months.

Revision 14073 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 21 16:39:49 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 32845 byte(s)
Diff to previous 14015
From Richard:
Fix some visual glitches with manipulator and clip drawing in wireframe
and outline styles.

Revision 14015 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 9 09:56:20 2006 UTC (8 years, 11 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 32898 byte(s)
Diff to previous 14004
- From Richard:

Improve clipping in GL viewer. Now show back (inner) faces when clipped,
with two sided lighting. Not as good as proper CSG op to cap clipped
solids - but looks better than them being invisible.

Also seems to improve performance which is suprising .....

Revision 14004 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 8 10:49:26 2006 UTC (8 years, 11 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 33006 byte(s)
Diff to previous 13860
From Richard:

Fixes for wireframe and outline drawing:

i) Both very much slower (up to 10x) than normal filled polygons -
incorrectly calling DirectDraw() bypassing the DL caching.
ii) Outline style did expensive repeated GL state swaps for every
physical shape draw.
iii) Only TGLFaceSet supported outline draw style.

Now:

i) Wireframe roughly same speed (or faster) than filled (~10x faster)
ii) Outline takes ~ filled polygons + wireframe times - as would expect
(about 5x faster).
iii) All shapes support outline style.

Exatct speed gain hardware dependent - but even software GL faster.

Also tidied up draw style code - created new TGLDrawFlags class to wrap
style + LOD hint into.

Revision 13860 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 18 16:57:59 2006 UTC (9 years ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 32897 byte(s)
Diff to previous 13495
From Richard:
Further GL / LOD performance improvements:

i) Shape can indicate LOD support by axis. For tubes TGLCylinder only X+
Y supported. Calc LOD hint based on larger projection of Z faces of
bounding box, avoiding excessive LOD for long tubes.

ii) Only test time limited draws every 50 objects to avoid excessive
timing costs.

Revision 13495 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 5 17:34:45 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 33671 byte(s)
Diff to previous 13424
From Richard:
Fixes for perspective camera constraints. Camera has a level floor
formed from 2 of the 3 world axes - avoids tipping of horizon.
Previously only one combination was supported making it impossible to
navigate round some detectors naturally, or stand them on their 'feet'
supports.

'Projections' menu is now renamed 'Camera' and has three simple
perspective combinations:

Perspective (Floor XOZ) - default.
Perspective (Floor YOZ)
Perspective (Floor XOY)

in addition to 3 ortho combinations. Also updated help and default clips
to be more sensible with new default.

Revision 13424 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 1 11:04:04 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 33396 byte(s)
Diff to previous 13421
Use Riostream.h instead of <iostream>
This should fix portability problesm with the GL option under alpha

Revision 13421 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 1 09:12:12 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 33396 byte(s)
Diff to previous 13394
From Richard;
Attempt to fix a compilation error on Solaris

Revision 13394 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 29 14:04:00 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 33289 byte(s)
Diff to previous 13336
From Richard:
Fix for rotation manipulator - now have two interaction modes:

i) Normal - when ring is at reasonable angle - follow ellipse round as
previously.
ii) Shallow - when ring plane is at shaloow angle to eye (very tight
ellipse). Here just use pixel delta (drag) on viewport along ring plane.

To show difference draw followed ring line for i) and drag direction
arrows for ii)

Revision 13336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 24 12:29:12 2005 UTC (9 years, 2 months ago) by couet
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 30248 byte(s)
Diff to previous 13316
- More coding conventions fixes

Revision 13316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 22 18:05:46 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 30249 byte(s)
Diff to previous 13250
From Richard:
 Second part of general tidy for coding conventions violations -
mainly commenting. Code under my name should be clear now.

Revision 13250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 16:41:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 20065 byte(s)
Diff to previous 13160
From Richard:
Update to axes in GL viewer - in response to requests from Witold
Pokorski.

i) Added options to draw axes through origin (not depth clipped), as
well at edge (depth clipped).
ii) Added option to show a single reference marker (orange sphere) at
location - for debugging geometries.
iii) Improved draw quality of axes - similar to manipulators.
iv) These moved to new "Guides" tab under "Scene" for GUI.

Revision 13160 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 8 19:18:18 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 15715 byte(s)
Diff to previous 13140
From Richard:
Various updates to cameras:

i) Larger range/sensitivities
ii) Better auto-framing for ortho cameras
iii) Better lighting - especially for ortho views
iv) Some more debug aids for scene center, origin and light positions -
enabled in debug mode (d key)

Revision 13140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 4 20:13:09 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 15180 byte(s)
Diff to previous 13005
Fix need by vc6. (mathcore and reflex/cintex still do not compile with vc6)

Revision 13005 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 24 14:49:33 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 15188 byte(s)
Diff to previous 12942
From Richard:
i) Add rotation manipulator.
ii) Allow direct manipulation of clipping plane - rotate/translate.
Cannot scale - makes no sense.

Note:

iii) Rotation interaction requires some improvement - difficult when
ring is almost parallel with eye line of camera.
iv) Still need to extend for all selected objects - requires some
internal rearrangement of TGLScene/TGLViewer

Revision 12942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 16:09:09 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 12836 byte(s)
Diff to previous 12892
From Richard:
Fix Solaris compilation problem - hopefully.

Revision 12892 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 15:19:35 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 12843 byte(s)
Diff to previous 12459
From Richard:
First implementation for interactive clipping, using OpenGL clip planes.
Initially we have plane & box - others later. See Help for description.

Known Bugs/Issues:

All in GUI:

i) Edit box takes keyboard focus and does not return to viewer pane when
clicked in. Hence all keys in viewer break - an existing general viewer
problem.
ii) Initial layout does not correctly hide the plane/box properties
panels, or scale for V side scroll bar.

Missing Features:

iii) CSG final pass and/or solid cappings.
iv) Can't rotate the box - need a TGLRotManip class soon.
v) Should be able to show and manipulate plane in similar fashion as
box.
vi) Trans/scale/rotate manipulators should be availible for any selected
object.

Revision 12459 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 10 16:26:36 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 10148 byte(s)
Diff to previous 12281
From Richard:
make TVirtualViewer TObject derv. so TPad can use without modifications.
Also removed last parts of TVirtualGL unrelated to context/draws so it
can be replaced with new TGLManager.

Added:

TGLSAViewer & TGLSAFrame - standalone viewer + GUI main frame.
TGLOutput for containing capture (pdf/eps output).

TX3DFrame (x3d mod) to avoid diamond TObject inheritance from GUI +
TVV3D interface

Removed: TViewerOpenGL

Revision 12281 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 8 15:39:29 2005 UTC (9 years, 6 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 10004 byte(s)
Diff to previous 12052
From Richard:
Improvements to camera and other GL viewer components to:

i) Avoid unrequired rebuilds.
ii) Improve near/far clip plane calculations - set using current
projected scene limits. Reduces depth buffer precision problems - seen
particularly on MESA software GL.
iii) Improve bounding box overlap tests.
iv) Tidy some vector/vertex code.

Revision 12052 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 15 10:22:57 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 9923 byte(s)
Diff to previous 11934
From Richard maunder:
Draw Sorting: Draw objects in order of decreasing BBox size - makes
dropouts on time termianted draws less intrusive - especially on slow
cards/software only. Reduced interactive drawtime to 100msec (from
300msec).

Added scene locking + more tracing to assist with debugging -
particularly under win32 mutli-thread.

Revision 11934 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 1 15:13:35 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 10024 byte(s)
Diff to previous 11929
From Richard Maunder:

Proper fix for scaling of objects using edit boxes.

Revision 11929 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 1 12:38:25 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 9056 byte(s)
Diff to previous 11880
From Richard Maunder:
"Apply to Family" color changes - update all physical shapes with same
logical.
Moving/scaling object via edit boxes or moving via Shift+Middle mouse
button.
Removed some old commented code.

Revision 11880 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 12:29:50 2005 UTC (9 years, 8 months ago) by rdm
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 7963 byte(s)
Diff to previous 11879
Added missing cvs tag lines.

Revision 11879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 12:05:44 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 8012 byte(s)
Diff to previous 11878
Several bug fixes from Richard

Revision 11878 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 10:24:45 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 7721 byte(s)
Diff to previous 11866
Cleanup files from Richard generated under windows with CRTL/M characters

Revision 11866 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed May 25 14:25:17 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/gl/src/TGLUtil.cxx
File length: 7999 byte(s)
From Richard Maunder:
Major changes to GL viewer to support:

i) Logical/Physical shape pairings
ii) Level of detail (LOD) scheme (TGLSphere only using at present)
iii) Common display list cache
iv) Scene rebuilds for large geometries
v) Some basic interactivity improvements - draw timeouts, drop low LOD
shapes etc
vi) New camara interactions:

Left Mouse: Rotate
Middle Mouse: Truck (pan parallel to camera film plane)
Right Mouse: Side-side drag dolly/zoom
Double click any button to reset the camera.

The previous pan with arrow keys, and zoom on mouse wheel are still
supported.

Camera interaction is default in viewer. These extra camera modes mean
there are not enough mouse buttons for previous right context/select.
To select / invoke context menu use Shift+Left Button and Shift+Right
Button respectively.

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