Logo ROOT   master
Reference Guide
TEveScene.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TEveScene
13 #define ROOT_TEveScene
14 
15 #include "TEveElement.h"
16 
17 class TEvePad;
18 class TGLScenePad;
19 
20 class TExMap;
21 
22 /******************************************************************************/
23 // TEveScene
24 /******************************************************************************/
25 
26 class TEveScene : public TEveElementList
27 {
28 private:
29  TEveScene(const TEveScene&); // Not implemented
30  TEveScene& operator=(const TEveScene&); // Not implemented
31 
32 protected:
35 
39 
41 
42 public:
43  TEveScene(const char* n="TEveScene", const char* t="");
44  TEveScene(TGLScenePad* gl_scene, const char* n="TEveScene", const char* t="");
45  virtual ~TEveScene();
46 
47  virtual void CollectSceneParents(List_t& scenes);
48 
49  virtual Bool_t SingleRnrState() const { return kTRUE; }
50 
51  void Changed() { fChanged = kTRUE; }
52  Bool_t IsChanged() const { return fChanged; }
53 
55  Bool_t GetHierarchical() const { return fHierarchical; }
56 
57  void Repaint(Bool_t dropLogicals=kFALSE);
58  void RetransHierarchically();
59 
60  TGLScenePad* GetGLScene() const { return fGLScene; }
62 
63  virtual void SetName(const char* n);
64  virtual void Paint(Option_t* option = "");
65 
66  void DestroyElementRenderers(TEveElement* element);
67  void DestroyElementRenderers(TObject* rnrObj);
68 
69  virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
70 
71  ClassDef(TEveScene, 0); // Reve representation of TGLScene.
72 };
73 
74 
75 /******************************************************************************/
76 // TEveSceneList
77 /******************************************************************************/
78 
80 {
81 private:
82  TEveSceneList(const TEveSceneList&); // Not implemented
83  TEveSceneList& operator=(const TEveSceneList&); // Not implemented
84 
85 protected:
86 
87 public:
88  TEveSceneList(const char* n="TEveSceneList", const char* t="");
89  virtual ~TEveSceneList() {}
90 
91  void DestroyScenes();
92 
93  void RepaintChangedScenes(Bool_t dropLogicals);
94  void RepaintAllScenes(Bool_t dropLogicals);
95 
96  void DestroyElementRenderers(TEveElement* element);
97 
98  void ProcessSceneChanges(Bool_t dropLogicals, TExMap* stampMap);
99 
100  ClassDef(TEveSceneList, 0); // List of Scenes providing common operations on TEveScene collections.
101 };
102 
103 #endif
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
Definition: TEveTrans.h:26
void SetHierarchical(Bool_t h)
Definition: TEveScene.h:54
Eve representation of TGLScene.
Definition: TEveScene.h:26
const char Option_t
Definition: RtypesCore.h:64
void DestroyElementRenderers(TEveElement *element)
Remove element from the scene.
Definition: TEveScene.cxx:199
void RepaintChangedScenes(Bool_t dropLogicals)
Repaint scenes that are tagged as changed.
Definition: TEveScene.cxx:261
void DestroyElementRenderers(TEveElement *element)
Loop over all scenes and remove all instances of element from them.
Definition: TEveScene.cxx:287
Bool_t IsChanged() const
Definition: TEveScene.h:52
bool Bool_t
Definition: RtypesCore.h:61
void RetransHierarchically()
Entry point for hierarchical transformation update.
Definition: TEveScene.cxx:138
void Changed()
Definition: TEveScene.h:51
A list of TEveElements.
Definition: TEveElement.h:428
virtual ~TEveSceneList()
Definition: TEveScene.h:89
virtual Bool_t SingleRnrState() const
Definition: TEveScene.h:49
#define ClassDef(name, id)
Definition: Rtypes.h:322
TGLScenePad * fGLScene
Definition: TEveScene.h:34
virtual void Paint(Option_t *option="")
Paint the scene. Iterate over children and calls PadPaint().
Definition: TEveScene.cxx:186
static constexpr double s
void DestroyScenes()
Destroy all scenes and their contents.
Definition: TEveScene.cxx:247
virtual ~TEveScene()
Destructor.
Definition: TEveScene.cxx:79
Bool_t fSmartRefresh
Definition: TEveScene.h:37
Bool_t fChanged
Definition: TEveScene.h:36
List of Scenes providing common operations on TEveScene collections.
Definition: TEveScene.h:79
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
Definition: TGLScenePad.h:25
TEveSceneList & operator=(const TEveSceneList &)
#define h(i)
Definition: RSha256.hxx:106
const Bool_t kFALSE
Definition: RtypesCore.h:90
std::list< TEveElement * > List_t
Definition: TEveElement.h:69
virtual void SetName(const char *n)
Set scene&#39;s name.
Definition: TEveScene.cxx:177
TEvePad * fPad
Definition: TEveScene.h:33
virtual void CollectSceneParents(List_t &scenes)
Virtual from TEveElement; here we simply append this scene to the list.
Definition: TEveScene.cxx:93
Mother of all ROOT objects.
Definition: TObject.h:37
void RetransHierarchicallyRecurse(TEveElement *el, const TEveTrans &tp)
Set transformation matrix for physical shape of element el in the GL-scene and recursively descend in...
Definition: TEveScene.cxx:151
This was intended as a TPad wrapper to allow smart updates of groups of pads.
Definition: TEvePad.h:17
TEveSceneList(const TEveSceneList &)
TEveScene & operator=(const TEveScene &)
Bool_t fHierarchical
Definition: TEveScene.h:38
void Repaint(Bool_t dropLogicals=kFALSE)
Repaint the scene.
Definition: TEveScene.cxx:101
void ProcessSceneChanges(Bool_t dropLogicals, TExMap *stampMap)
Loop over all scenes and update them accordingly:
Definition: TEveScene.cxx:307
TEveScene(const TEveScene &)
void RepaintAllScenes(Bool_t dropLogicals)
Repaint all scenes.
Definition: TEveScene.cxx:276
virtual const TGPicture * GetListTreeIcon(Bool_t open=kFALSE)
Return icon for scene.
Definition: TEveScene.cxx:222
TGLScenePad * GetGLScene() const
Definition: TEveScene.h:60
const Bool_t kTRUE
Definition: RtypesCore.h:89
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition: TEveElement.h:33
Bool_t GetHierarchical() const
Definition: TEveScene.h:55
const Int_t n
Definition: legend1.C:16
void SetGLScene(TGLScenePad *s)
Definition: TEveScene.h:61
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33