Logo ROOT   6.18/05
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
17class TEvePad;
18class TGLScenePad;
19
20class TExMap;
21
22/******************************************************************************/
23// TEveScene
24/******************************************************************************/
25
27{
28private:
29 TEveScene(const TEveScene&); // Not implemented
30 TEveScene& operator=(const TEveScene&); // Not implemented
31
32protected:
35
39
41
42public:
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
56
57 void Repaint(Bool_t dropLogicals=kFALSE);
59
60 TGLScenePad* GetGLScene() const { return fGLScene; }
62
63 virtual void SetName(const char* n);
64 virtual void Paint(Option_t* option = "");
65
67 void DestroyElementRenderers(TObject* rnrObj);
68
70
71 ClassDef(TEveScene, 0); // Reve representation of TGLScene.
72};
73
74
75/******************************************************************************/
76// TEveSceneList
77/******************************************************************************/
78
80{
81private:
82 TEveSceneList(const TEveSceneList&); // Not implemented
83 TEveSceneList& operator=(const TEveSceneList&); // Not implemented
84
85protected:
86
87public:
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
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
#define h(i)
Definition: RSha256.hxx:106
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
A list of TEveElements.
Definition: TEveElement.h:431
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition: TEveElement.h:34
std::list< TEveElement * > List_t
Definition: TEveElement.h:69
This was intended as a TPad wrapper to allow smart updates of groups of pads.
Definition: TEvePad.h:18
List of Scenes providing common operations on TEveScene collections.
Definition: TEveScene.h:80
void DestroyScenes()
Destroy all scenes and their contents.
Definition: TEveScene.cxx:247
void DestroyElementRenderers(TEveElement *element)
Loop over all scenes and remove all instances of element from them.
Definition: TEveScene.cxx:287
void RepaintAllScenes(Bool_t dropLogicals)
Repaint all scenes.
Definition: TEveScene.cxx:276
virtual ~TEveSceneList()
Definition: TEveScene.h:89
TEveSceneList(const TEveSceneList &)
TEveSceneList & operator=(const TEveSceneList &)
void ProcessSceneChanges(Bool_t dropLogicals, TExMap *stampMap)
Loop over all scenes and update them accordingly:
Definition: TEveScene.cxx:307
void RepaintChangedScenes(Bool_t dropLogicals)
Repaint scenes that are tagged as changed.
Definition: TEveScene.cxx:261
Eve representation of TGLScene.
Definition: TEveScene.h:27
void Changed()
Definition: TEveScene.h:51
TEvePad * fPad
Definition: TEveScene.h:33
void DestroyElementRenderers(TEveElement *element)
Remove element from the scene.
Definition: TEveScene.cxx:199
virtual void SetName(const char *n)
Set scene's name.
Definition: TEveScene.cxx:177
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
Bool_t IsChanged() const
Definition: TEveScene.h:52
virtual const TGPicture * GetListTreeIcon(Bool_t open=kFALSE)
Return icon for scene.
Definition: TEveScene.cxx:222
Bool_t fChanged
Definition: TEveScene.h:36
void SetHierarchical(Bool_t h)
Definition: TEveScene.h:54
void Repaint(Bool_t dropLogicals=kFALSE)
Repaint the scene.
Definition: TEveScene.cxx:101
void RetransHierarchically()
Entry point for hierarchical transformation update.
Definition: TEveScene.cxx:138
TEveScene(const TEveScene &)
void SetGLScene(TGLScenePad *s)
Definition: TEveScene.h:61
virtual Bool_t SingleRnrState() const
Definition: TEveScene.h:49
Bool_t fHierarchical
Definition: TEveScene.h:38
TEveScene & operator=(const TEveScene &)
Bool_t GetHierarchical() const
Definition: TEveScene.h:55
virtual ~TEveScene()
Destructor.
Definition: TEveScene.cxx:79
TGLScenePad * fGLScene
Definition: TEveScene.h:34
Bool_t fSmartRefresh
Definition: TEveScene.h:37
virtual void CollectSceneParents(List_t &scenes)
Virtual from TEveElement; here we simply append this scene to the list.
Definition: TEveScene.cxx:93
TGLScenePad * GetGLScene() const
Definition: TEveScene.h:60
virtual void Paint(Option_t *option="")
Paint the scene. Iterate over children and calls PadPaint().
Definition: TEveScene.cxx:186
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
Definition: TEveTrans.h:27
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
Definition: TGLScenePad.h:25
Mother of all ROOT objects.
Definition: TObject.h:37
const Int_t n
Definition: legend1.C:16
static constexpr double s