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

Log of /trunk/graf3d/gl/src/TGLPhysicalShape.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: 18082 byte(s)
Diff to previous 46372
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 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: 17915 byte(s)
Diff to previous 43018
* 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 43018 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 16 03:13:21 2012 UTC (2 years, 11 months ago) by matevz
File length: 17710 byte(s)
Diff to previous 42980
Rewrite highlight rendering so that the stencil-control logic lives on the
TGLScene level, within new function TGLScene::RenderHighlight(). A set of new
functions called RenderXXXForHighligt() was introduced in TGLViewer/Scene.

This works around the problems with stencil buffer
coherency during multi-pass rendering with multiple clipping planes.

Some tweaking was necessary in TEve-GL classes that implement specialized
DrawHighlight() virtual from TGLLogicalShape.

Revision 42980 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 13 03:21:35 2012 UTC (2 years, 11 months ago) by matevz
File length: 17596 byte(s)
Diff to previous 42979
Disable ligting when drawing highlight.

Revision 42979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 13 03:17:03 2012 UTC (2 years, 11 months ago) by matevz
File length: 17548 byte(s)
Diff to previous 41215
Implement highlighting using the stencil buffer.
Produces minor artefacts when more than one clipping plane is active but
performs much better for all other cases.

Revision 41215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 13:08:53 2011 UTC (3 years, 3 months ago) by tpochep
File length: 16970 byte(s)
Diff to previous 34245
Coverity fix. Unused static variable deleted.

Revision 34245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 13:36:29 2010 UTC (4 years, 6 months ago) by brun
File length: 17197 byte(s)
Diff to previous 33864
Fix format in warning and error statements

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

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

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

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

Revision 29744 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 10 18:16:56 2009 UTC (5 years, 5 months ago) by matevz
File length: 18410 byte(s)
Diff to previous 28845
* TGLViewer
  - Add support for usage of smooth poins and lines.
  - Use FBO image dump function by default (if OpenGL-1.5 detected).
  - Add option to increase global scale in SavePictureUsingFBO().
  - Add several new image saving functions:
    Bool_t SavePictureWidth (const TString &fileName, Int_t width, Bool_t pixel_object_scale=kTRUE);
    Bool_t SavePictureHeight(const TString &fileName, Int_t height, Bool_t pixel_object_scale=kTRUE);
    Bool_t SavePictureScale (const TString &fileName, Float_t scale, Bool_t pixel_object_scale=kTRUE);

* TGLViewerEditor
  - Add controls for smooth points/lines.

* TGLPhysicalShape
  - Remove obsolete comment.

Revision 28845 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 8 13:53:44 2009 UTC (5 years, 7 months ago) by rdm
File length: 18489 byte(s)
Diff to previous 28197
changes needed to be able to compile with Solaris CC5 and stlport4 STL
library. Backward compatible with old CC5 STL and other platforms.

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: 18461 byte(s)
Diff to previous 24444
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 24444 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 17:52:37 2008 UTC (6 years, 7 months ago) by matevz
File length: 18425 byte(s)
Diff to previous 24214
TGLRnrCtx
---------
Add new member 'Bool_t fHighlightOutline' that is set during the
outline-pass of the highlight.

TGLObject
---------
Disable use of display-lists for multi-colored objects only in the
outline pass of the highlight.

TGLPhysicalShape
----------------
Set HighlightOutline and HighlightOutline of the rnr-ctx during highlight.

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: 18342 byte(s)
Diff to previous 23865
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 23865 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 15 18:48:16 2008 UTC (6 years, 8 months ago) by matevz
File length: 18425 byte(s)
Diff to previous 23140
Render highlight with fewer passes when requested LOD is not LODHigh.

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: 18293 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/TGLPhysicalShape.cxx
File length: 18293 byte(s)
Diff to previous 22539
From Alja, Bertrand and Matevz - merged branches/dev/fireworks 22550:23082.


Major changes imported by this merge are:

gl/
====
- reorganization of scene rendering in TGLViewer - render opaque
  objects from all scenes first, then all transparent ones;

- improve saving of images from the GL-viewer so that the dialog boxes
  and other windows do not result in black areas on the saved image;

- improved management of FTGL fonts accross GL contexts.

eve/
====
- new classes for visualization of calorimeter data in lego mode;

- allow fixed scale beyond given radius for fish-eye projections.

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 17850 byte(s)
Diff to previous 21453
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 21453 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 18 15:18:30 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 17252 byte(s)
Diff to previous 21252
Add missing class descriptions.

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/TGLPhysicalShape.cxx
File length: 17008 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/TGLPhysicalShape.cxx
File length: 15775 byte(s)
Diff to previous 19826
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 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/TGLPhysicalShape.cxx
File length: 15775 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/TGLPhysicalShape.cxx
File length: 15834 byte(s)
Diff to previous 19049
remove :$ from tag line

Revision 19049 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 18 07:02:16 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 15844 byte(s)
Diff to previous 19000
From Matev and Timur:
Timur:
1. Allow unique identification of shared GL contexts via
TGLContextIdentity class.

Matevz:
1. Improved overlay selection handling.
2. Perform GL context check before rendering, possibly invalidating
   registered display-lists.
3. Minimize updates for window expose and resize events.

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/TGLPhysicalShape.cxx
File length: 15837 byte(s)
Diff to previous 16090
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 16090 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 23 14:39:40 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 15349 byte(s)
Diff to previous 14583
From Matevz Tadel:

        1) Implementation of two-level (secondary) selection

        Rendering objects can provide a new level of interactivity, for
        example a TPointSet3D holding a set of clusters can attach a pointer
        to original cluster to each point and receive notifications when a
        specified cluster was clicked.

        Secondary selection is activated by Control-Left clicking into the
        GL window.

        2) Improve control over camera-reset behaviour

        Allow user to prevent camera reset on scene update and
        double-click.

        3) Improvements in TPointSet3D(GL)

        Detailed ChangeLog
        ==================

        * base/inc/TVirtualViewer3D.h:
        Added virtual methods 'void ResetCameras(){}' and 'void
        ResetCamerasAfterNextUpdate(){}'.

        * gl/inc/TGLScene.h:
        * gl/src/TGLScene.cxx:
        Implemented two-level selection. It is enabled for next selection
        pass by calling ActivateSecSelect().

        DoSelect() does not change the selected object but only indicates
        which object has been selected by setting new member
        'TGLPhysicalShape *fSelectionResult'. Caller (TGLViewer) must call
        new method 'void ApplySelection()' to actually change the selected
        object to the last selection result.

        Changed declaration of selection buffer from being a static varable
        within DoSelect() to data-member. This allows post-processing of
        selection records needed by two-level selection.

        * gl/inc/TGLCamera.h:
        * gl/inc/TGLOrthoCamera.h:
        * gl/inc/TGLPerspectiveCamera.h:
        * gl/src/TGLCamera.cxx:
        * gl/src/TGLOrthoCamera.cxx:
        * gl/src/TGLPerspectiveCamera.cxx:
        Added Bool_t argument with default value to:
        virtual void TGLCamera::Setup(const TGLBoundingBox & box, Bool_t
        reset=kTRUE) = 0;
        By setting it to false one can change camera parameters for new
        scene bounding-box without repositioning the camera.

        Added 'Bool_t checkSize' argument to OfInterest().
        This is relevant for marker-classes which can have small
        volume/length but are still visible as they are rendered in
        pixel-coordinates. Value of this argument is needed in TGLScene
        (DestroyPhysicals) and TGLViewer (AddObject). It is obtained by
        calling virtual method TGLLogicalShape::IgnoreSizeForOfInterest().
        This method returns false by defalut and is overriden in
        TGLPolyMarker and TPointSet3DGL.

        * gl/inc/TGLViewer.h:
        * gl/src/TGLViewer.cxx:
        Added controls for camera-reset behaviour.
        Data-members: 'Bool_t fResetCamerasOnUpdate', 'Bool_t
        fResetCamerasOnNextUpdate', 'Bool_t fResetCameraOnDoubleClick'.
        Methods: 'ResetCameras()', 'ResetCamerasAfterNextUpdate()',
        'ResetCurrentCamera()'.
        Added an argument to 'void PostSceneBuildSetup(Bool_t resetCameras).

        Added Bool_t return-value to RequestSelect(). It returns true if
        result of the selection is different then fSelectedPhysical.

        Added method ApplySelection() to interface with TGLScene
        selection state. This is called from event-handling functions in
        TGLViewer.

        Added key-binding for 'Home': ResetCurrentCamera().

        * gl/inc/TGLSAViewer.h:
        * gl/src/TGLSAViewer.cxx:
        Added description of new functionality to fgHelpText.

        MSVC was complaining about fgHelpText being too long: I split it
        into fgHelpText1 and fgHelpText2.

        * gl/inc/TGLDrawFlags.h:
        * gl/src/TGLDrawFlags.cxx:
        Added members 'Bool_t fSelection' and 'Bool_t
        fSecSelection' allowing passing of current selection state to
        renderers. This is needed to allow different render-paths during
        (secondary) selection.

        We should consider passing TGLScene* and/or TGLViewer* down to
        DirectDraw() of individual renderers.

        * gl/src/TGLDrawable.cxx:
        In ShouldCache() return false if secondary selection is in progress.

        * gl/src/TGLPhysicalShape.cxx:
        Handle new members in TGLDrawFlags.

        * gl/inc/TGLLogicalShape.h:
        * gl/src/TGLLogicalShape.cxx:
        Added three new functions:

        1) virtual Bool_t SupportsSecondarySelect() const { return kFALSE; }
        This is called by TGLScene::DoSelect() to check is object that was
        the result of primary selection supports secondary selection.

        2) virtual void ProcessSelection(UInt_t* ptr, TGLViewer*, TGLScene*);
        It is called back from TGLViewer after successful secondary
        selection. As the object that does the rendering is the only one
        that actually knows how the object sub-parts were named it has
        to interpret the results.

        Both of these should be overriden in classes that support
        secondary selection, for example see TPointSet3DGL.

        3) virtual Bool_t IgnoreSizeForOfInterest() const { return kFALSE; }
        Signals to TGLScene and TGLViewer that volume/lenght of this
        class' bounding box should not be considered when checking if
        objects of this class are of interest to current camera.

        * gl/inc/TGLObject.h:
        * gl/src/TGLObject.cxx:
        Changed second argument of function:
        Bool_t SetModelCheckClass(TObject* obj, const Text_t* classname);
        to 'TClass* cls'. This is much more efficient.

        * g3d/inc/TPointSet3D.h:
        * g3d/src/TPointSet3D.cxx:
        Added support for per-point designations (one TObject* per point;
        via casting it can be set to anything).
        New virtual method 'void PointSelected(Int_t n)' that is called
        back after successful secondary selection in TGLViewer (via
        virtual TGLLogicalShape::ProcessSelection()).

        * gl/inc/TPointSet3DGL.h:
        * gl/src/TPointSet3DGL.cxx:
        Added support for per-point selection. Point-sizes are taken into
        account during selection (by modifying the projection
        matrix).
        Implemented 'virtual Bool_t TGLDrawable::ShouldCache()' to disable
        caching when in primary selection (point-size improvements).
        Cross-like marker types are now supported to some extent.
        Improved structure of rendering code.
        Override 'virtual Bool_t TGLLogicalShape::IgnoreSizeForOfInterest()'
        to return true.
        Multiply TAttMarker::GetMarkerSize() by 5 before applying.

        * gl/inc/TGLPolyMarker.h:
        Override 'virtual Bool_t TGLLogicalShape::IgnoreSizeForOfInterest()'
        to return true.

Revision 14583 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 09:20:43 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 15045 byte(s)
Diff to previous 14580
fix cvs tag lines, and remove many <TAB>s.

Revision 14580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 15112 byte(s)
Diff to previous 14097
From Matevz Tadel:
Introduce a new set of classes dedicated to event visualisation.
TGLObject:	base-class for direct GL renderers

TAttBBox:	interface, helps maintain/calculate bounding-box
		needed for TGLObject (see TPointSet3D and TPointSet3DGL)
TPointSet3D:	a demo class for direct GL rendering
TPointSet3DGL:

Mods in existing classes to interface the new classes

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/TGLPhysicalShape.cxx
File length: 15008 byte(s)
Diff to previous 14072
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 14072 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 21 15:34:44 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 14986 byte(s)
Diff to previous 14064
From Richard:
i) Fix outline drawing - blackwire frame is half of opacity of diffuse
colors.
ii) Now outline on back faces - so get a proper outline round any
clipped edge.
iii) Fix silly timeout calc error.

Revision 14064 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 20 11:02:19 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 14867 byte(s)
Diff to previous 14015
From Richard:
Cleanup of shape code:

i) Remaining minodr code from TGLSceneObject moved to TGLLogicalShape or
derv. shape classes.

ii) Remove obsolete TGLSceneObject class.

iii) Move shape classes (TGLFaceSet etc) to own .h/.cxx + now derv. from
TGLogicalShape directly

Plus other minor tidying up.

WARNING!!
if you check-out from CVS, do
rm gl/src/G_*, gl/src/*.o
make

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/TGLPhysicalShape.cxx
File length: 14868 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/TGLPhysicalShape.cxx
File length: 14569 byte(s)
Diff to previous 13821
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 13821 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 11 13:44:39 2006 UTC (9 years ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 9959 byte(s)
Diff to previous 13316
From Richard:
i) Modify TGLCylinder and subclasses to repsond to LOD (quality) hint.
Meshes are created, draw and deleted in DirectDraw(). After first draw
this is captured into GL display list so only done once.
Gives 2-3 times speed up in typical cases.

Note: All tubes (TGLCylinder) shapes adjust tesselation round the radius
(x/y axis) only - not along the tube length (z). Currently we calculate
LOD hint based on projection of shape bounding box onto screen - so this
means many typical detector tubes are requested to draw at excessive
LOD/quality if long c.f. radius (as most are). Will be fixed shortly.

ii) Add kLODPixel for all shapes < pixel projected size - draws a pixel.

iii) Test script for $ROOTSYS/tutorials/glViewerLOD.C, which creates
random/ordered collecton of spheres/tubes to test the GL LOD
performance.

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/TGLPhysicalShape.cxx
File length: 9758 byte(s)
Diff to previous 13286
From Richard:
 Second part of general tidy for coding conventions violations -
mainly commenting. Code under my name should be clear now.

Revision 13286 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 18 20:26:44 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 9983 byte(s)
Diff to previous 13005
From Richard:
 First part of coding conventions fixes for GL - mainly code
commenting.

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/TGLPhysicalShape.cxx
File length: 6508 byte(s)
Diff to previous 12941
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 12941 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 15:56:06 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 6463 byte(s)
Diff to previous 12926
From Richard:
Fix another trivial GL color bug - TPolyLine were white always.

Revision 12926 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 11 10:25:11 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 6411 byte(s)
Diff to previous 12281
From Richard:
Fix adjustment of GL colours - all components except diffuse
broken.

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/TGLPhysicalShape.cxx
File length: 6174 byte(s)
Diff to previous 12168
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 12168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 15:08:45 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 6171 byte(s)
Diff to previous 12062
From Richard
Update to GL viewer to:

i) Retain modifications/section of physical shapes across scene
rebuilds.
ii) Be a bit smarter about rebuilds:

        Detect if all physicals accepted into scene - never need to rebuild in
these cases.
        Only destroy physicals no longer of interest to camera.

Imporves times a bit - more work on this required to remove stalls in
viewer interaction.

Revision 12062 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 15 15:40:30 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 5831 byte(s)
Diff to previous 12052
From Richard Maunder:
Raise gDebug levels in GL viewer to:

>= 3: Timing info
>= 4: Locking and scene population, threading, main draw requests
>= 5: detailed draw info

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/TGLPhysicalShape.cxx
File length: 5831 byte(s)
Diff to previous 12024
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 12024 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 13 10:20:10 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 7052 byte(s)
Diff to previous 11931
From Richard Maunder:
Add draw call tracing for gDebug>2

Revision 11931 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 1 14:07:14 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/gl/src/TGLPhysicalShape.cxx
File length: 6688 byte(s)
Diff to previous 11929
From Timur
New code to draw shapes outline

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/TGLPhysicalShape.cxx
File length: 5076 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/TGLPhysicalShape.cxx
File length: 4862 byte(s)
Diff to previous 11878
Added missing cvs tag lines.

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/TGLPhysicalShape.cxx
File length: 4851 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/TGLPhysicalShape.cxx
File length: 4993 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