forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TEveScene.h
103 lines (71 loc) · 3.13 KB
/
TEveScene.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// @(#)root/eve:$Id$
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TEveScene
#define ROOT_TEveScene
#include "TEveElement.h"
class TEvePad;
class TGLScenePad;
class TExMap;
/******************************************************************************/
// TEveScene
/******************************************************************************/
class TEveScene : public TEveElementList
{
private:
TEveScene(const TEveScene&); // Not implemented
TEveScene& operator=(const TEveScene&); // Not implemented
protected:
TEvePad *fPad;
TGLScenePad *fGLScene;
Bool_t fChanged;
Bool_t fSmartRefresh;
Bool_t fHierarchical;
void RetransHierarchicallyRecurse(TEveElement* el, const TEveTrans& tp);
public:
TEveScene(const char* n="TEveScene", const char* t="");
TEveScene(TGLScenePad* gl_scene, const char* n="TEveScene", const char* t="");
virtual ~TEveScene();
virtual void CollectSceneParents(List_t& scenes);
virtual Bool_t SingleRnrState() const { return kTRUE; }
void Changed() { fChanged = kTRUE; }
Bool_t IsChanged() const { return fChanged; }
void SetHierarchical(Bool_t h) { fHierarchical = h; }
Bool_t GetHierarchical() const { return fHierarchical; }
void Repaint(Bool_t dropLogicals=kFALSE);
void RetransHierarchically();
TGLScenePad* GetGLScene() const { return fGLScene; }
void SetGLScene(TGLScenePad* s) { fGLScene = s; }
virtual void SetName(const char* n);
virtual void Paint(Option_t* option = "");
void DestroyElementRenderers(TEveElement* element);
void DestroyElementRenderers(TObject* rnrObj);
virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
ClassDef(TEveScene, 0); // Reve representation of TGLScene.
};
/******************************************************************************/
// TEveSceneList
/******************************************************************************/
class TEveSceneList : public TEveElementList
{
private:
TEveSceneList(const TEveSceneList&); // Not implemented
TEveSceneList& operator=(const TEveSceneList&); // Not implemented
protected:
public:
TEveSceneList(const char* n="TEveSceneList", const char* t="");
virtual ~TEveSceneList() {}
void DestroyScenes();
void RepaintChangedScenes(Bool_t dropLogicals);
void RepaintAllScenes(Bool_t dropLogicals);
void DestroyElementRenderers(TEveElement* element);
void ProcessSceneChanges(Bool_t dropLogicals, TExMap* stampMap);
ClassDef(TEveSceneList, 0); // List of Scenes providing common operations on TEveScene collections.
};
#endif