[root] / trunk / graf3d / g3d / src / TNode.cxx Repository:
ViewVC logotype

Log of /trunk/graf3d/g3d/src/TNode.cxx

Parent Directory Parent Directory


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

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

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

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

Revision 41218 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 13:16:33 2011 UTC (3 years, 3 months ago) by couet
File length: 27692 byte(s)
Diff to previous 35111
Fix coverity report #32991

Revision 35111 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 1 16:12:27 2010 UTC (4 years, 4 months ago) by matevz
File length: 27682 byte(s)
Diff to previous 35110
Fix for snprintf not existing on windows.

Revision 35110 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 1 15:45:48 2010 UTC (4 years, 4 months ago) by matevz
File length: 27666 byte(s)
Diff to previous 31811
Fix coverity warnings.

Revision 31811 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 10 15:45:31 2009 UTC (5 years, 1 month ago) by couet
File length: 27650 byte(s)
Diff to previous 23140
- initialize members (coverity)

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: 27629 byte(s)
Diff to previous 20882
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 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/g3d/src/TNode.cxx
File length: 27629 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/g3d/src/TNode.cxx
File length: 27629 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/g3d/src/TNode.cxx
File length: 27677 byte(s)
Diff to previous 17998
remove :$ from tag line

Revision 17998 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 18 14:58:56 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 27687 byte(s)
Diff to previous 17967
-Replace all calls to the TView constructor by a call to the new static
function  TView::CreateView.

Revision 17967 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 15 15:04:41 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 27675 byte(s)
Diff to previous 17728
-replace calls to gROOT->GetMakeDefCanvas()() by gROOT->MakeDefCanvas()

Revision 17728 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 6 14:44:54 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 27728 byte(s)
Diff to previous 15169
In the Streamer functions replace the lines like
         TPad::Class()->ReadBuffer(b, this, v, R__s, R__c);
         TPad::Class()->WriteBuffer(b,this);
by
         b.ReadClassBuffer(TPad::Class(), this, v, R__s, R__c);
         b.WriteClassBuffer(TPad::Class(),this);

Revision 15169 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 15:31:40 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 27720 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 27644 byte(s)
Diff to previous 13351
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 13351 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 24 17:28:07 2005 UTC (9 years, 2 months ago) by couet
Original Path: trunk/g3d/src/TNode.cxx
File length: 26821 byte(s)
Diff to previous 12939
- Coding conventions.

Revision 12939 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 12 14:55:09 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29931 byte(s)
Diff to previous 12503
From Richard:
Fix problem with g3d geometries in OGL viewer - logical ID was not being
correctly set on first attempt to add to viewer.

Revision 12503 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 18 11:12:59 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29986 byte(s)
Diff to previous 11866
From Timur:

Add a new member to TStyle
   Bool_t  fCanvasPreferGL;    //if true, rendering in canvas is with GL
and the corresponding Get/set functions:
   Bool_t  GetCanvasPreferGL() const {return fCanvasPreferGL;}
   void    SetCanvasPreferGL(Bool_t prefer = kTRUE) {fCanvasPreferGL=prefer;}

 Changes to enable gl-in-pad. 1.You should type
  gStyle->SetCanvasPreferGL(kTRUE) to turn on GL support.
2. Do not try to use at the same time gl-viewer and gl-in-pad :)) -
   do not work at the moment.
3. GL-in-pad can be used with g3d and geom now (not with hists, polylines
  or polymarkers, composite shapes do not work).
4. You can rotate scene, zoom (with J,K and context menu), select :
  TGLPixmap (viewer) - interesting only with context menu item
  Pad under viewer - you can change color of pad (==3d scene background)
  Object from the scene (g3d node or geom volume). For selected object
  you can change the color (geom volumes, when selected, higlight
  themselves)
5. In case of complex geometry the selection is very slow now (will be fixed
   soon)
6. IMPORTANT! TGLPixmap is only a temporary testing facility, will be
   replaced ASAP.
7. IMPORTANT! this new stuff is unstable :)

Revision 11866 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 25 14:25:17 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29930 byte(s)
Diff to previous 11646
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.

Revision 11646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 21 08:13:25 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29912 byte(s)
Diff to previous 11356
From Richard Maunder:
Fix problem with pad zooming (j/k keys). Set AutoRange (frame) once on
TView at creation, not repeatedly each time TViewer3DPad draws via it.

Revision 11356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 16 17:18:13 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29631 byte(s)
Diff to previous 11305
From Richard Maunder:
More fixes to the external viewer creation/closedown. We now:

i) Always call Modified() and Update() we create an external viewer 3D
(non-pad tyep - x3d or ogl) so that an externally spwaned viewer is
painted automcatically when created. For an internal TViewer3DPad we
asssume this was

ii) No longer paint the pad when the external viewer is closed. This
leaves the pad blank - but this is preferable to causing a double redraw
of the pad as the external viewer is closed - very slow....

This all needs to be revisited as part of supporting multiple viewers
properly on the pad.

Revision 11305 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 11 17:22:21 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29822 byte(s)
Diff to previous 11272
From Richard Maunder:
Incorrect TView projection settings - cartesian by default. Set to
perspective if TGeoPainter/TNode as required by 3D geometry.

x3d: Raise dialog if no valid content and shutdown the viewer again.

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/g3d/src/TNode.cxx
File length: 29816 byte(s)
Diff to previous 9665
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 9665 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29262 byte(s)
Diff to previous 6968
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.

Revision 6968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 18 08:48:46 2003 UTC (11 years, 6 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29423 byte(s)
Diff to previous 6446
Change proposed by Vitaly Choutko to speed up the RecursiveRemove process
in case of a large TGeometry hierarchy.

Revision 6446 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 14 20:06:01 2003 UTC (11 years, 9 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29393 byte(s)
Diff to previous 6358
Fix in TNode::Master2Local by Robert Hatcher

Revision 6358 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:46:51 2003 UTC (11 years, 9 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29393 byte(s)
Diff to previous 5943
Several changes by Axel Naumann to install ROOT under Windows/CYGWIN
with the gcc3.2 compiler and the X11 environment.

Revision 5943 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 20 08:44:47 2003 UTC (12 years ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29421 byte(s)
Diff to previous 3919
Add protections in destructors in case the default constructor has been called.
Initialize pointers in some default constructors.

Revision 3919 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 7 10:47:33 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29403 byte(s)
Diff to previous 3748
In TNode::DistancetoPrimitive remove the special case returning TView.
This is now handled automatically by TPad::Pick.

Revision 3748 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 24 11:39:31 2002 UTC (13 years ago) by rdm
Original Path: trunk/g3d/src/TNode.cxx
File length: 29518 byte(s)
Diff to previous 3742
rename IOSFwd.h and IOStream.h to Riosfwd.h and Riostream.h. The change
is necessary because on Windows which is case insensitive IOStream.h
hides the real iostream.h.

Revision 3742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 23 17:52:52 2002 UTC (13 years ago) by rdm
Original Path: trunk/g3d/src/TNode.cxx
File length: 29518 byte(s)
Diff to previous 2770
use IOSFwd.h in headers instead of <iosfwd> or many other ifdef'ed variant
and IOStream.h in the source instead of <iostream[.h]>, <fstream[.h]> and
<iomanip[.h]>.

Revision 2770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 30 16:15:22 2001 UTC (13 years, 4 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29546 byte(s)
Diff to previous 2764
Add a test in TNode::SetParent to check that the parent node is not one child.

Revision 2764 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 29 10:35:39 2001 UTC (13 years, 4 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 29294 byte(s)
Diff to previous 2365
  Currently in TNode.h there is the declaration & definition for the
method to change a TNode's parent, e.g.:

   virtual void        SetParent(TNode *parent) {fParent=parent;}

But this does only half the work necessary.  The parent losing the
custody battle is never informed and continues to think they have
this child.
The function SetParent has been moved from the TNode.h to TNode.cxx.
The new function (thanks to Robert Hatcher) updates the parent node as well.

Revision 2365 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 10:27:31 2001 UTC (13 years, 7 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28766 byte(s)
Diff to previous 2117
Protection in TNode destructor in case gGeometry is null.

Revision 2117 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 4 13:17:28 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28750 byte(s)
Diff to previous 1983
In the TNode constructor, call ImportShapeAttributes also for the top level node.

Revision 1983 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 13 09:49:17 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28753 byte(s)
Diff to previous 1719
Add protections in TNode::Draw and TNode::ls in case a TGeometry has not yet
been created. If this is the case, a default TGeometry is created.

Revision 1719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 28 11:04:07 2001 UTC (13 years, 10 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28681 byte(s)
Diff to previous 1354
More changes (hopefully last cleanup) introducing constness in the API.

Revision 1354 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 12 10:49:11 2001 UTC (14 years ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28645 byte(s)
Diff to previous 1349
Optimize iterators.

Revision 1349 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 12 08:27:11 2001 UTC (14 years ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28471 byte(s)
Diff to previous 1205
Rename function SetObject(const char*name, const char *title) to SetNameTitle.
This avoids several compiler warnings in classes defining SetObject(TObject *obj).

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28468 byte(s)
Diff to previous 985
      W A R N I N G   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     ==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
   virtual TObject    *Clone() const;
   virtual Int_t       Compare(const TObject *obj) const;
   virtual void        Delete(Option_t *option=""); // *MENU*
   virtual void        DrawClass() const; // *MENU*
   virtual void        DrawClone(Option_t *option="") const; // *MENU*
   virtual void        Dump() const; // *MENU*
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual ULong_t     Hash() const;
   virtual void        Inspect() const; // *MENU*
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual void        ls(Option_t *option="") const;
   virtual void        Print(Option_t *option="") const;

A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.

Revision 985 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 20:51:23 2000 UTC (14 years, 2 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28440 byte(s)
Diff to previous 610
Function Streamer now in the implementation file.
Add code for the new automatic schema evolution algorithm

Revision 610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 8 16:05:22 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/g3d/src/TNode.cxx
File length: 28412 byte(s)
Diff to previous 568
collections don't have anymore the concept of parent (should not have been
introduced in the first place). All changes relate to the removal of the
parent in the TList ctor.

Revision 568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 09:21:24 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/g3d/src/TNode.cxx
File length: 28421 byte(s)
Diff to previous 3
The following headers and classes have been modified to take into account;
  - the new signature of IsFolder (now const)
  - the new TObject::FindObject
  - the fact that the static functions of TObject have been moved to TROOT.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/g3d/src/TNode.cxx
File length: 28359 byte(s)
Copied from: branches/rdm/g3d/src/TNode.cxx revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/g3d/src/TNode.cxx
File length: 28359 byte(s)
Initial import of ROOT into CVS

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