Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 ~TEveScene() override;
46
47 void CollectSceneParents(List_t& scenes) override;
48
49 Bool_t SingleRnrState() const override { 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 void SetName(const char* n) override;
64 void Paint(Option_t* option = "") override;
65
67 void DestroyElementRenderers(TObject* rnrObj);
68
69 const TGPicture* GetListTreeIcon(Bool_t open=kFALSE) override;
70
71 ClassDefOverride(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 ~TEveSceneList() override {}
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 ClassDefOverride(TEveSceneList, 0); // List of Scenes providing common operations on TEveScene collections.
101};
102
103#endif
#define h(i)
Definition RSha256.hxx:106
bool Bool_t
Definition RtypesCore.h:63
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t option
A list of TEveElements.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
std::list< TEveElement * > List_t
Definition TEveElement.h:71
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.
void DestroyElementRenderers(TEveElement *element)
Loop over all scenes and remove all instances of element from them.
void RepaintAllScenes(Bool_t dropLogicals)
Repaint all scenes.
TEveSceneList(const TEveSceneList &)
TEveSceneList & operator=(const TEveSceneList &)
~TEveSceneList() override
Definition TEveScene.h:89
void ProcessSceneChanges(Bool_t dropLogicals, TExMap *stampMap)
Loop over all scenes and update them accordingly:
void RepaintChangedScenes(Bool_t dropLogicals)
Repaint scenes that are tagged as changed.
Eve representation of TGLScene.
Definition TEveScene.h:27
void Changed()
Definition TEveScene.h:51
TEvePad * fPad
Definition TEveScene.h:33
Bool_t SingleRnrState() const override
Definition TEveScene.h:49
void DestroyElementRenderers(TEveElement *element)
Remove element from the scene.
~TEveScene() override
Destructor.
Definition TEveScene.cxx:79
const TGPicture * GetListTreeIcon(Bool_t open=kFALSE) override
Return icon for scene.
void RetransHierarchicallyRecurse(TEveElement *el, const TEveTrans &tp)
Set transformation matrix for physical shape of element el in the GL-scene and recursively descend in...
Bool_t IsChanged() const
Definition TEveScene.h:52
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.
void RetransHierarchically()
Entry point for hierarchical transformation update.
TEveScene(const TEveScene &)
void SetGLScene(TGLScenePad *s)
Definition TEveScene.h:61
Bool_t fHierarchical
Definition TEveScene.h:38
TEveScene & operator=(const TEveScene &)
Bool_t GetHierarchical() const
Definition TEveScene.h:55
void Paint(Option_t *option="") override
Paint the scene. Iterate over children and calls PadPaint().
TGLScenePad * fGLScene
Definition TEveScene.h:34
Bool_t fSmartRefresh
Definition TEveScene.h:37
void CollectSceneParents(List_t &scenes) override
Virtual from TEveElement; here we simply append this scene to the list.
Definition TEveScene.cxx:93
TGLScenePad * GetGLScene() const
Definition TEveScene.h:60
void SetName(const char *n) override
Set scene's name.
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:26
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Definition TGPicture.h:25
Mother of all ROOT objects.
Definition TObject.h:41
const Int_t n
Definition legend1.C:16