[root] / trunk / core / base / src / TVirtualViewer3D.cxx Repository:
ViewVC logotype

Log of /trunk/core/base/src/TVirtualViewer3D.cxx

Parent Directory Parent Directory


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

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 13911 byte(s)
Diff to previous 20877
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 20877 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:17:07 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13911 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/base/src/TVirtualViewer3D.cxx
File length: 13911 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/base/src/TVirtualViewer3D.cxx
File length: 13970 byte(s)
Diff to previous 19389
remove :$ from tag line

Revision 19389 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 18 12:47:49 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13980 byte(s)
Diff to previous 19000
remove now unused TROOT.h include.

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/base/src/TVirtualViewer3D.cxx
File length: 14002 byte(s)
Diff to previous 17561
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 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/base/src/TVirtualViewer3D.cxx
File length: 14004 byte(s)
Diff to previous 14336
-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 14336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13982 byte(s)
Diff to previous 13954
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning:  This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined.  Simply add the
proper include directive.

Revision 13954 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 30 17:42:06 2006 UTC (8 years, 11 months ago) by rdm
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13929 byte(s)
Diff to previous 13110
fix cvs ident line that was missing trailing $.

Revision 13110 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 2 11:25:38 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13935 byte(s)
Diff to previous 12766
From Richard:
Fix silly error when creating 3D viewer - was not respecting TPad
pointer if one passed (always used gPad)

Revision 12766 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 19 10:30:50 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 13936 byte(s)
Diff to previous 11272
Add more comments (Richard) describing the TBuffer3D and 3dViewers relations.

Revision 11272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 2107 byte(s)
Diff to previous 10042
From Richard Maunder:

Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:

i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.

Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.

All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.

TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.

Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).

For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.

Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.

3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).

NOTE:

1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.

2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.

Revision 10042 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 14 13:41:59 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 2682 byte(s)
Diff to previous 9718
In the TVirtualViewer3D constructor set the pointer to the viewer in the pad given as argument.
This is necessary when the viewer is created by the user (not via TPad::x3d)

Revision 9718 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 10 21:53:47 2004 UTC (10 years, 5 months ago) by rdm
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 2646 byte(s)
Diff to previous 9665
small corrections in comments and use Info() instead of printf().

Revision 9665 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TVirtualViewer3D.cxx
File length: 2898 byte(s)
From Olivier, Timur Pocheptsov , Andrei Gheata and Rene
Mega patch to introduce the new 3-d interface (to be described later).
The new interface has been tested with both X3D and OpenGL under Linux.
Being tested under Windows.
Note that several changes are expected in these classes (OpenGL in particular)
in the coming days.

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