[root] / trunk / graf3d / gl / inc / TGLPlotPainter.h Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/inc/TGLPlotPainter.h

Parent Directory Parent Directory


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

Revision 40858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 13 06:45:50 2011 UTC (3 years, 4 months ago) by tpochep
File length: 12318 byte(s)
Diff to previous 40842
Parse and support an "a" option to switch on/off axes.

Revision 40842 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 12 11:21:13 2011 UTC (3 years, 4 months ago) by tpochep
File length: 12194 byte(s)
Diff to previous 39602
"bb" and "fb" options were added to hide/show back planes around a plot and front "box" (lines actually).

Revision 39602 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 8 14:03:18 2011 UTC (3 years, 7 months ago) by couet
File length: 12068 byte(s)
Diff to previous 38817
- From Timur:
Attempt to fix coverity's warning about mixed enums. I hope, coverity will not infer, that fSelectionBase (now it's int) is
initialized from enum and compared with another integer, which later comparent with another enum in a different file :)

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: 12068 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: 11913 byte(s)
Diff to previous 36773
- From Timur:
  New option GLCOL to draw TH3 using semi-transparent colored boxes.

Revision 36773 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 19 12:26:30 2010 UTC (4 years, 2 months ago) by couet
File length: 11784 byte(s)
Diff to previous 36532
- From Timur: Implement the log scale along Z for TH2Poply.
  >>>>> WARNING: These changes need a "make clean-gl" <<<<<

Revision 36532 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 10:36:48 2010 UTC (4 years, 2 months ago) by couet
File length: 11676 byte(s)
Diff to previous 30298
- Mods to draw TH2Poly (need to be adapted since TH2Poly bins
  are TGraph)

Revision 30298 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 19 13:07:06 2009 UTC (5 years, 4 months ago) by matevz
File length: 11613 byte(s)
Diff to previous 29602
From Timur.

Draw all plots so that they are contained within a unit-box centered
at the origin.

This is the first step towards allowing mixing of plots with other
scene elements.

Revision 29602 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 28 10:23:20 2009 UTC (5 years, 5 months ago) by brun
File length: 11296 byte(s)
Diff to previous 28601
From Timur:
-Add new gui for "gl5d" - modifications in TGL5DDataSetPainter.
-New class TKDEAdapter - to instantiate TGLMarchingCubes
 for kernel density estimator as a data source.
-TGL5D - TGL5DPainter removed into its own TGL5DPainter.h/.cxx files.
-TGL5D - modified to convert data into unit cube.
-TKDEFGT - specialized version of BuildModel added
 to work with TGL5DDataSet (to avoid copying of data from TTree).
-TGLTF3Painter - mesh drawing functions were removed.
-TGLIsoMesh.cxx added - auxilary mesh drawing functions are here now.

Revision 28601 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 13 13:52:31 2009 UTC (5 years, 8 months ago) by brun
File length: 11056 byte(s)
Diff to previous 28464
From Timur:
iso-levels for strings. Changes and new class - 5D painter editor.

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: 10863 byte(s)
Diff to previous 28201
From Timur:
New GL interface for TPad (to be documented in next check-in)

Revision 28201 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 14 16:04:20 2009 UTC (5 years, 9 months ago) by matevz
File length: 10651 byte(s)
Diff to previous 27090
Move code for plot-painter camera out of TGLOrthoCamera and put it
into a new class TGLPlotCamera.

Revision 27090 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 6 10:09:43 2009 UTC (6 years ago) by brun
File length: 10658 byte(s)
Diff to previous 24186
From Timur:
TGLTF3Painter.h/.cxx
1. Marching cubes algoritm removed from TGLTF3Painter and TGLIsoPainter.
2. Iso-surface representation replaced by TIsoMesh class.
3. Functions to draw TIsoMesh with different options were added.
4. Due to several bugs (inherent and lately acquired) slicing was temporarily
disabled in TF3 and iso (fix will follow ASAP).

TGLIsoMesh.h
5. Mesh for iso-surface - set of vertices, normals, triangles.

TGLMarchingCubes.h/.cxx
6. New classes implementing marching cubes algorithm were introduced:
TCell and TSlice classes to reduce number of calculations ("Eval" for TF3 and future 
local density estimator). TMeshBuilder is new implementation of marching cubes algorithm.
TMeshBuilder - mesh builder class, based on marching cubes algoritm.

Revision 24186 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 9 11:34:54 2008 UTC (6 years, 7 months ago) by matevz
File length: 10308 byte(s)
Diff to previous 23140
Take phi/theta from gPad in TGLPlotPainter constructor and use
them when setting camera rotation.

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: 10238 byte(s)
Diff to previous 22595
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 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/inc/TGLPlotPainter.h
File length: 10238 byte(s)
Diff to previous 21453
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 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/inc/TGLPlotPainter.h
File length: 9853 byte(s)
Diff to previous 20882
Add missing class descriptions.

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/inc/TGLPlotPainter.h
File length: 9983 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/inc/TGLPlotPainter.h
File length: 9983 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/inc/TGLPlotPainter.h
File length: 10038 byte(s)
Diff to previous 19153
remove :$ from tag line

Revision 19153 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 23 21:23:22 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 10048 byte(s)
Diff to previous 19000
From Matevz:
1. TGLViewer performs internal loop on pad-primitives.
2. Timur: generalization of gl-plot-painters to allow external access.
3. Support usage of gl-plot-painters in gl-viewer.
4. Provide a default gl-sharing context for resource optimization.

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/inc/TGLPlotPainter.h
File length: 9616 byte(s)
Diff to previous 18963
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 18963 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 6 15:33:00 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 9727 byte(s)
Diff to previous 18426
From Timur:
1. This is experimental slicing for tf3.
2. Small fix in TGLHistPainter.
3. Small mods in TLGTH3Slice
4. small addition in gltf3 tutorial (commented by defualt) - nice "torus" shape instead of Klein.

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/inc/TGLPlotPainter.h
File length: 9338 byte(s)
Diff to previous 17525
- 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 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/inc/TGLPlotPainter.h
File length: 8152 byte(s)
Diff to previous 17208
- 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 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/inc/TGLPlotPainter.h
File length: 8098 byte(s)
Diff to previous 16930
From Timur:
Small fix for user interaction in 16 bit mode.

Revision 16930 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 15:57:45 2006 UTC (8 years, 2 months ago) by couet
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 8082 byte(s)
Diff to previous 16910
- From Timur:
  User interactions with cut modification

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/inc/TGLPlotPainter.h
File length: 8115 byte(s)
Diff to previous 16875
- 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 16875 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 22 16:19:55 2006 UTC (8 years, 2 months ago) by couet
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 7858 byte(s)
Diff to previous 16607
- From Timur:
  Box cut added for TF3, surface and box painters. To activate it - press c. To
  move this box - select it (it's highligted when selected), press shift and left
  mouse button and move it. Box can move along one of axes - X/Y/Z. Direction is
  shown as a red line. To select direction - press X or Y or Z keys.

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/inc/TGLPlotPainter.h
File length: 6316 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/inc/TGLPlotPainter.h
File length: 6278 byte(s)
Diff to previous 16188
From Timur:
-  Mods for box painter, adding dynamic slicing for TH3 hist.
   try $ROOTSYS/tutorials/glbox.C

Revision 16188 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 31 16:03:10 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 6273 byte(s)
Diff to previous 16183
Destructors must be virtual for classes with virtual functions.

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/inc/TGLPlotPainter.h
File length: 6239 byte(s)
Diff to previous 15467
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 15467 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 19 09:10:25 2006 UTC (8 years, 7 months ago) by couet
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 6211 byte(s)
Diff to previous 15417
- From Timur:

TGLLegoPainter
   "e" option added for cartesian
   bar width/offset added for cartesian
TGLPlotPainter
   normals for trapezoids in polar/cylindrical/spherical
   coordinates are better now, so lego is "smoother".

Revision 15417 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 14 08:33:23 2006 UTC (8 years, 7 months ago) by couet
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 5971 byte(s)
Diff to previous 15406
- Add the proper cvs tags lines ($Id$ and Author) and the standard copyright
  notice.

Revision 15406 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Jun 13 15:43:39 2006 UTC (8 years, 7 months ago) by couet
Original Path: trunk/gl/inc/TGLPlotPainter.h
File length: 5231 byte(s)
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

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