/usr/include/root/TEveManager.h is in libroot-graf3d-eve-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | // @(#)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_TEveManager
#define ROOT_TEveManager
#include "TEveElement.h"
#include "TSysEvtHandler.h"
#include "TTimer.h"
#include "TVirtualPad.h"
class TMap;
class TExMap;
class TMacro;
class TFolder;
class TCanvas;
class TGeoManager;
class TGTab;
class TGStatusBar;
class TGListTree;
class TGListTreeItem;
class TGStatusBar;
class TGWindow;
class TGLViewer;
class TEveSelection;
class TEveGListTreeEditorFrame;
class TEveBrowser;
class TEveGedEditor;
class TEveViewer; class TEveViewerList;
class TEveScene; class TEveSceneList;
class TEveEventManager;
class TEveWindowManager;
class TEveManager
{
TEveManager(const TEveManager&); // Not implemented
TEveManager& operator=(const TEveManager&); // Not implemented
public:
class TRedrawDisabler
{
private:
TRedrawDisabler(const TRedrawDisabler&); // Not implemented
TRedrawDisabler& operator=(const TRedrawDisabler&); // Not implemented
TEveManager* fMgr;
public:
TRedrawDisabler(TEveManager* m) : fMgr(m)
{ if (fMgr) fMgr->DisableRedraw(); }
virtual ~TRedrawDisabler()
{ if (fMgr) fMgr->EnableRedraw(); }
ClassDef(TRedrawDisabler, 0); // Exception-safe EVE redraw-disabler.
};
class TExceptionHandler : public TStdExceptionHandler
{
public:
TExceptionHandler() : TStdExceptionHandler() { Add(); }
virtual ~TExceptionHandler() { Remove(); }
virtual EStatus Handle(std::exception& exc);
ClassDef(TExceptionHandler, 0); // Exception handler for Eve exceptions.
};
private:
TExceptionHandler *fExcHandler;
TMap *fVizDB;
Bool_t fVizDBReplace;
Bool_t fVizDBUpdate;
TMap *fGeometries;
TMap *fGeometryAliases;
TEveBrowser *fBrowser;
TEveGListTreeEditorFrame *fLTEFrame;
TFolder *fMacroFolder;
TEveWindowManager *fWindowManager;
TEveViewerList *fViewers;
TEveSceneList *fScenes;
TEveScene *fGlobalScene;
TEveScene *fEventScene;
TEveEventManager *fCurrentEvent;
Int_t fRedrawDisabled;
Bool_t fFullRedraw;
Bool_t fResetCameras;
Bool_t fDropLogicals;
Bool_t fKeepEmptyCont;
Bool_t fTimerActive;
TTimer fRedrawTimer;
protected:
// Fine grained scene updates.
TExMap *fStampedElements;
// Selection / hihglight elements
TEveSelection *fSelection;
TEveSelection *fHighlight;
TEveElementList *fOrphanage;
Bool_t fUseOrphanage;
public:
TEveManager(UInt_t w, UInt_t h, Bool_t map_window=kTRUE, Option_t* opt="FI");
virtual ~TEveManager();
TExceptionHandler* GetExcHandler() const { return fExcHandler; }
TEveSelection* GetSelection() const { return fSelection; }
TEveSelection* GetHighlight() const { return fHighlight; }
TEveElementList* GetOrphanage() const { return fOrphanage; }
Bool_t GetUseOrphanage() const { return fUseOrphanage; }
void SetUseOrphanage(Bool_t o) { fUseOrphanage = o; }
void ClearOrphanage();
TEveBrowser* GetBrowser() const { return fBrowser; }
TEveGListTreeEditorFrame* GetLTEFrame() const { return fLTEFrame; }
TEveGedEditor* GetEditor() const;
TGStatusBar* GetStatusBar() const;
TEveWindowManager* GetWindowManager() const { return fWindowManager; }
TEveSceneList* GetScenes() const { return fScenes; }
TEveViewerList* GetViewers() const { return fViewers; }
TEveScene* GetGlobalScene() const { return fGlobalScene; }
TEveScene* GetEventScene() const { return fEventScene; }
TEveEventManager* GetCurrentEvent() const { return fCurrentEvent; }
void SetCurrentEvent(TEveEventManager* mgr) { fCurrentEvent = mgr; }
TCanvas* AddCanvasTab(const char* name);
TGWindow* GetMainWindow() const;
TEveViewer* GetDefaultViewer() const;
TGLViewer* GetDefaultGLViewer() const;
TEveViewer* SpawnNewViewer(const char* name, const char* title="", Bool_t embed=kTRUE);
TEveScene* SpawnNewScene(const char* name, const char* title="");
TFolder* GetMacroFolder() const { return fMacroFolder; }
TMacro* GetMacro(const char* name) const;
void EditElement(TEveElement* element);
void DisableRedraw() { ++fRedrawDisabled; }
void EnableRedraw() { --fRedrawDisabled; if (fRedrawDisabled <= 0) Redraw3D(); }
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
{
if (fRedrawDisabled <= 0 && !fTimerActive) RegisterRedraw3D();
if (resetCameras) fResetCameras = kTRUE;
if (dropLogicals) fDropLogicals = kTRUE;
}
void RegisterRedraw3D();
void DoRedraw3D();
void FullRedraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE);
Bool_t GetKeepEmptyCont() const { return fKeepEmptyCont; }
void SetKeepEmptyCont(Bool_t k) { fKeepEmptyCont = k; }
void ElementChanged(TEveElement* element, Bool_t update_scenes=kTRUE, Bool_t redraw=kFALSE);
void ScenesChanged(TEveElement::List_t& scenes);
// Fine grained updates via stamping.
void ElementStamped(TEveElement* element);
// These are more like TEveManager stuff.
TGListTree* GetListTree() const;
TGListTreeItem* AddToListTree(TEveElement* re, Bool_t open, TGListTree* lt=0);
void RemoveFromListTree(TEveElement* element, TGListTree* lt, TGListTreeItem* lti);
TGListTreeItem* AddEvent(TEveEventManager* event);
void AddElement(TEveElement* element, TEveElement* parent=0);
void AddGlobalElement(TEveElement* element, TEveElement* parent=0);
void RemoveElement(TEveElement* element, TEveElement* parent);
void PreDeleteElement(TEveElement* element);
void ElementSelect(TEveElement* element);
Bool_t ElementPaste(TEveElement* element);
// VizDB - Visualization-parameter data-base.
Bool_t InsertVizDBEntry(const TString& tag, TEveElement* model,
Bool_t replace, Bool_t update);
Bool_t InsertVizDBEntry(const TString& tag, TEveElement* model);
TEveElement* FindVizDBEntry (const TString& tag);
void LoadVizDB(const TString& filename, Bool_t replace, Bool_t update);
void LoadVizDB(const TString& filename);
void SaveVizDB(const TString& filename);
Bool_t GetVizDBReplace() const { return fVizDBReplace; }
Bool_t GetVizDBUpdate () const { return fVizDBUpdate; }
void SetVizDBReplace(Bool_t r) { fVizDBReplace = r; }
void SetVizDBUpdate (Bool_t u) { fVizDBUpdate = u; }
// Geometry management.
TGeoManager* GetGeometry(const TString& filename);
TGeoManager* GetGeometryByAlias(const TString& alias);
TGeoManager* GetDefaultGeometry();
void RegisterGeometryAlias(const TString& alias, const TString& filename);
void SetStatusLine(const char* text);
void ClearROOTClassSaved();
void CloseEveWindow();
static TEveManager* Create(Bool_t map_window=kTRUE, Option_t* opt="FIV");
static void Terminate();
ClassDef(TEveManager, 0); // Eve application manager.
};
R__EXTERN TEveManager* gEve;
#endif
|