Logo ROOT  
Reference Guide
ROOT::Experimental::REveManager Class Reference

Definition at line 43 of file REveManager.hxx.

Classes

struct  Conn
 
class  RExceptionHandler
 
class  RRedrawDisabler
 

Public Member Functions

 REveManager ()
 
virtual ~REveManager ()
 Destructor. More...
 
void AddElement (REveElement *element, REveElement *parent=nullptr)
 Add an element. More...
 
void AddGlobalElement (REveElement *element, REveElement *parent=nullptr)
 Add a global element, i.e. More...
 
void AddLocation (const std::string &name, const std::string &path)
 Register new directory to THttpServer. More...
 
void AssignElementId (REveElement *element)
 Assign a unique ElementId to given element. More...
 
void BroadcastElementsOf (REveElement::List_t &els)
 
void ClearAllSelections ()
 Clear all selection objects. More...
 
void ClearROOTClassSaved ()
 Work-around uber ugly hack used in SavePrimitive and co. More...
 
void DestroyElementsOf (REveElement::List_t &els)
 
void DisableRedraw ()
 
void DoRedraw3D ()
 Perform 3D redraw of scenes and viewers whose contents has changed. More...
 
void EnableRedraw ()
 
void EnforceTimerActive (Bool_t ta)
 
REveElementFindElementById (ElementId_t id) const
 Lookup ElementId in element map and return corresponding REveElement*. More...
 
REveElementFindVizDBEntry (const TString &tag)
 Find a visualization-parameter database entry corresponding to tag. More...
 
void FullRedraw3D (Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
 Perform 3D redraw of all scenes and viewers. More...
 
TGeoManagerGetDefaultGeometry ()
 Get the default geometry. More...
 
REveSceneGetEventScene () const
 
RExceptionHandlerGetExcHandler () const
 
TGeoManagerGetGeometry (const TString &filename)
 Get geometry with given filename. More...
 
TGeoManagerGetGeometryByAlias (const TString &alias)
 Get geometry with given alias. More...
 
REveSceneGetGlobalScene () const
 
REveSelectionGetHighlight () const
 
Bool_t GetKeepEmptyCont () const
 
TMacroGetMacro (const char *name) const
 Find macro in fMacroFolder by name. More...
 
TFolderGetMacroFolder () const
 
REveSceneListGetScenes () const
 
REveSelectionGetSelection () const
 
REveViewerListGetViewers () const
 
Bool_t GetVizDBReplace () const
 
Bool_t GetVizDBUpdate () const
 
REveSceneGetWorld () const
 
Bool_t InsertVizDBEntry (const TString &tag, REveElement *model)
 Insert a new visualization-parameter database entry with the default parameters for replace and update, as specified by members fVizDBReplace(default=kTRUE) and fVizDBUpdate(default=kTRUE). More...
 
Bool_t InsertVizDBEntry (const TString &tag, REveElement *model, Bool_t replace, Bool_t update)
 Insert a new visualization-parameter database entry. More...
 
void LoadVizDB (const TString &filename)
 Load visualization-parameter database from file filename. More...
 
void LoadVizDB (const TString &filename, Bool_t replace, Bool_t update)
 Load visualization-parameter database from file filename. More...
 
void PreDeleteElement (REveElement *element)
 Called from REveElement prior to its destruction so the framework components (like object editor) can unreference it. More...
 
void Redraw3D (Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
 
void RegisterGeometryAlias (const TString &alias, const TString &filename)
 Register 'name' as an alias for geometry file 'filename'. More...
 
void RegisterRedraw3D ()
 Register a request for 3D redraw. More...
 
void RemoveElement (REveElement *element, REveElement *parent)
 Remove element from parent. More...
 
void SaveVizDB (const TString &filename)
 Save visualization-parameter database to file filename. More...
 
void Send (unsigned connid, const std::string &data)
 
void SendBinary (unsigned connid, const void *data, std::size_t len)
 
void SetClientVersion (const std::string &version)
 Set client version, used as prefix in scripts URL When changed, web browser will reload all related JS files while full URL will be different Default is empty value - no extra string in URL Version should be string like "1.2" or "ver1.subv2" and not contain any special symbols. More...
 
void SetDefaultHtmlPage (const std::string &path)
 Set content of default window HTML page. More...
 
void SetKeepEmptyCont (Bool_t k)
 
void SetVizDBReplace (Bool_t r)
 
void SetVizDBUpdate (Bool_t u)
 
void Show (const RWebDisplayArgs &args="")
 Show eve manager in specified browser. More...
 
std::shared_ptr< REveGeomViewerShowGeometry (const RWebDisplayArgs &args="")
 Show current geometry in web browser. More...
 
REveSceneSpawnNewScene (const char *name, const char *title="")
 Create a new scene. More...
 
REveViewerSpawnNewViewer (const char *name, const char *title="")
 Create a new GL viewer. More...
 

Static Public Member Functions

static REveManagerCreate ()
 If global REveManager* REX::gEve is not set initialize it. More...
 
static void Terminate ()
 Properly terminate global REveManager. More...
 

Protected Member Functions

void WindowConnect (unsigned connid)
 Process new connection from web window. More...
 
void WindowData (unsigned connid, const std::string &arg)
 Process data from web window. More...
 
void WindowDisconnect (unsigned connid)
 Process disconnect of web window. More...
 

Protected Attributes

std::vector< ConnfConnList
 
Bool_t fDropLogicals {kFALSE}
 
std::unordered_map< ElementId_t, REveElement * > fElementIdMap
 
REveScenefEventScene {nullptr}
 
RExceptionHandlerfExcHandler {nullptr}
 exception handler More...
 
Bool_t fFullRedraw {kFALSE}
 
TMapfGeometries {nullptr}
 
TMapfGeometryAliases {nullptr}
 
REveScenefGlobalScene {nullptr}
 
REveSelectionfHighlight {nullptr}
 
Bool_t fKeepEmptyCont {kFALSE}
 
ElementId_t fLastElementId {0}
 
TFolderfMacroFolder {nullptr}
 
ElementId_t fMaxElementIds {std::numeric_limits<ElementId_t>::max()}
 
ElementId_t fNumElementIds {0}
 
Int_t fRedrawDisabled {0}
 
TTimer fRedrawTimer
 
Bool_t fResetCameras {kFALSE}
 
REveSceneListfScenes {nullptr}
 
REveSelectionfSelection {nullptr}
 
REveElementfSelectionList {nullptr}
 
Bool_t fTimerActive {kFALSE}
 
REveViewerListfViewers {nullptr}
 
TMapfVizDB {nullptr}
 
Bool_t fVizDBReplace {kFALSE}
 
Bool_t fVizDBUpdate {kFALSE}
 
std::shared_ptr< ROOT::Experimental::RWebWindowfWebWindow
 
REveScenefWorld {nullptr}
 

Private Member Functions

 REveManager (const REveManager &)
 
REveManageroperator= (const REveManager &)
 

#include <ROOT/REveManager.hxx>

Constructor & Destructor Documentation

◆ REveManager() [1/2]

ROOT::Experimental::REveManager::REveManager ( const REveManager )
private

◆ REveManager() [2/2]

REveManager::REveManager ( )

Definition at line 61 of file REveManager.cxx.

◆ ~REveManager()

REveManager::~REveManager ( )
virtual

Destructor.

Definition at line 155 of file REveManager.cxx.

Member Function Documentation

◆ AddElement()

void REveManager::AddElement ( REveElement element,
REveElement parent = nullptr 
)

Add an element.

If parent is not specified it is added into current event (which is created if does not exist).

Definition at line 278 of file REveManager.cxx.

◆ AddGlobalElement()

void REveManager::AddGlobalElement ( REveElement element,
REveElement parent = nullptr 
)

Add a global element, i.e.

one that does not change on each event, like geometry or projection manager. If parent is not specified it is added to a global scene.

Definition at line 292 of file REveManager.cxx.

◆ AddLocation()

void REveManager::AddLocation ( const std::string &  name,
const std::string &  path 
)

Register new directory to THttpServer.

Definition at line 642 of file REveManager.cxx.

◆ AssignElementId()

void REveManager::AssignElementId ( REveElement element)

Assign a unique ElementId to given element.

Definition at line 324 of file REveManager.cxx.

◆ BroadcastElementsOf()

void REveManager::BroadcastElementsOf ( REveElement::List_t els)

Definition at line 894 of file REveManager.cxx.

◆ ClearAllSelections()

void REveManager::ClearAllSelections ( )

Clear all selection objects.

Can make things easier for EVE when going to the next event. Still, destruction os selected object should still work correctly as long as it is executed within a change cycle.

Definition at line 266 of file REveManager.cxx.

◆ ClearROOTClassSaved()

void REveManager::ClearROOTClassSaved ( )

Work-around uber ugly hack used in SavePrimitive and co.

Definition at line 628 of file REveManager.cxx.

◆ Create()

REveManager * REveManager::Create ( )
static

If global REveManager* REX::gEve is not set initialize it.

Returns REX::gEve.

Definition at line 671 of file REveManager.cxx.

◆ DestroyElementsOf()

void REveManager::DestroyElementsOf ( REveElement::List_t els)

Definition at line 861 of file REveManager.cxx.

◆ DisableRedraw()

void ROOT::Experimental::REveManager::DisableRedraw ( )
inline

Definition at line 156 of file REveManager.hxx.

◆ DoRedraw3D()

void REveManager::DoRedraw3D ( )

Perform 3D redraw of scenes and viewers whose contents has changed.

Definition at line 231 of file REveManager.cxx.

◆ EnableRedraw()

void ROOT::Experimental::REveManager::EnableRedraw ( )
inline

Definition at line 157 of file REveManager.hxx.

◆ EnforceTimerActive()

void ROOT::Experimental::REveManager::EnforceTimerActive ( Bool_t  ta)
inline

Definition at line 217 of file REveManager.hxx.

◆ FindElementById()

REveElement * REveManager::FindElementById ( ElementId_t  id) const

Lookup ElementId in element map and return corresponding REveElement*.

Returns nullptr if the id is not found

Definition at line 313 of file REveManager.cxx.

◆ FindVizDBEntry()

REveElement * REveManager::FindVizDBEntry ( const TString tag)

Find a visualization-parameter database entry corresponding to tag.

If the entry is not found 0 is returned.

Definition at line 452 of file REveManager.cxx.

◆ FullRedraw3D()

void REveManager::FullRedraw3D ( Bool_t  resetCameras = kFALSE,
Bool_t  dropLogicals = kFALSE 
)

Perform 3D redraw of all scenes and viewers.

Definition at line 255 of file REveManager.cxx.

◆ GetDefaultGeometry()

TGeoManager * REveManager::GetDefaultGeometry ( )

Get the default geometry.

It should be registered via RegisterGeometryName("Default", <URL>).

Definition at line 609 of file REveManager.cxx.

◆ GetEventScene()

REveScene * ROOT::Experimental::REveManager::GetEventScene ( ) const
inline

Definition at line 146 of file REveManager.hxx.

◆ GetExcHandler()

RExceptionHandler * ROOT::Experimental::REveManager::GetExcHandler ( ) const
inline

Definition at line 137 of file REveManager.hxx.

◆ GetGeometry()

TGeoManager * REveManager::GetGeometry ( const TString filename)

Get geometry with given filename.

This is cached internally so the second time this function is called with the same argument the same geo-manager is returned. gGeoManager is set to the return value.

Definition at line 536 of file REveManager.cxx.

◆ GetGeometryByAlias()

TGeoManager * REveManager::GetGeometryByAlias ( const TString alias)

Get geometry with given alias.

The alias must be registered via RegisterGeometryAlias().

Definition at line 595 of file REveManager.cxx.

◆ GetGlobalScene()

REveScene * ROOT::Experimental::REveManager::GetGlobalScene ( ) const
inline

Definition at line 145 of file REveManager.hxx.

◆ GetHighlight()

REveSelection * ROOT::Experimental::REveManager::GetHighlight ( ) const
inline

Definition at line 140 of file REveManager.hxx.

◆ GetKeepEmptyCont()

Bool_t ROOT::Experimental::REveManager::GetKeepEmptyCont ( ) const
inline

Definition at line 171 of file REveManager.hxx.

◆ GetMacro()

TMacro * REveManager::GetMacro ( const char *  name) const

Find macro in fMacroFolder by name.

Definition at line 213 of file REveManager.cxx.

◆ GetMacroFolder()

TFolder * ROOT::Experimental::REveManager::GetMacroFolder ( ) const
inline

Definition at line 153 of file REveManager.hxx.

◆ GetScenes()

REveSceneList * ROOT::Experimental::REveManager::GetScenes ( ) const
inline

Definition at line 142 of file REveManager.hxx.

◆ GetSelection()

REveSelection * ROOT::Experimental::REveManager::GetSelection ( ) const
inline

Definition at line 139 of file REveManager.hxx.

◆ GetViewers()

REveViewerList * ROOT::Experimental::REveManager::GetViewers ( ) const
inline

Definition at line 143 of file REveManager.hxx.

◆ GetVizDBReplace()

Bool_t ROOT::Experimental::REveManager::GetVizDBReplace ( ) const
inline

Definition at line 193 of file REveManager.hxx.

◆ GetVizDBUpdate()

Bool_t ROOT::Experimental::REveManager::GetVizDBUpdate ( ) const
inline

Definition at line 194 of file REveManager.hxx.

◆ GetWorld()

REveScene * ROOT::Experimental::REveManager::GetWorld ( ) const
inline

Definition at line 148 of file REveManager.hxx.

◆ InsertVizDBEntry() [1/2]

Bool_t REveManager::InsertVizDBEntry ( const TString tag,
REveElement model 
)

Insert a new visualization-parameter database entry with the default parameters for replace and update, as specified by members fVizDBReplace(default=kTRUE) and fVizDBUpdate(default=kTRUE).

See docs of the above function.

Definition at line 443 of file REveManager.cxx.

◆ InsertVizDBEntry() [2/2]

Bool_t REveManager::InsertVizDBEntry ( const TString tag,
REveElement model,
Bool_t  replace,
Bool_t  update 
)

Insert a new visualization-parameter database entry.

Returns true if the element is inserted successfully. If entry with the same key already exists the behaviour depends on the 'replace' flag:

  • true - The old model is deleted and new one is inserted (default). Clients of the old model are transferred to the new one and if 'update' flag is true (default), the new model's parameters are assigned to all clients.
  • false - The old model is kept, false is returned.

If insert is successful, the ownership of the model-element is transferred to the manager.

Definition at line 394 of file REveManager.cxx.

◆ LoadVizDB() [1/2]

void REveManager::LoadVizDB ( const TString filename)

Load visualization-parameter database from file filename.

State of data-members fVizDBReplace and fVizDBUpdate determine how the registered entries are handled.

Definition at line 481 of file REveManager.cxx.

◆ LoadVizDB() [2/2]

void REveManager::LoadVizDB ( const TString filename,
Bool_t  replace,
Bool_t  update 
)

Load visualization-parameter database from file filename.

The replace, update arguments replace the values of fVizDBReplace and fVizDBUpdate members for the duration of the macro execution.

Definition at line 463 of file REveManager.cxx.

◆ operator=()

REveManager & ROOT::Experimental::REveManager::operator= ( const REveManager )
private

◆ PreDeleteElement()

void REveManager::PreDeleteElement ( REveElement element)

Called from REveElement prior to its destruction so the framework components (like object editor) can unreference it.

Definition at line 348 of file REveManager.cxx.

◆ Redraw3D()

void ROOT::Experimental::REveManager::Redraw3D ( Bool_t  resetCameras = kFALSE,
Bool_t  dropLogicals = kFALSE 
)
inline

Definition at line 159 of file REveManager.hxx.

◆ RegisterGeometryAlias()

void REveManager::RegisterGeometryAlias ( const TString alias,
const TString filename 
)

Register 'name' as an alias for geometry file 'filename'.

The old aliases are silently overwritten. After that the geometry can be retrieved also by calling: REX::gEve->GetGeometryByName(name);

Definition at line 620 of file REveManager.cxx.

◆ RegisterRedraw3D()

void REveManager::RegisterRedraw3D ( )

Register a request for 3D redraw.

Definition at line 221 of file REveManager.cxx.

◆ RemoveElement()

void REveManager::RemoveElement ( REveElement element,
REveElement parent 
)

Remove element from parent.

Definition at line 303 of file REveManager.cxx.

◆ SaveVizDB()

void REveManager::SaveVizDB ( const TString filename)

Save visualization-parameter database to file filename.

Definition at line 490 of file REveManager.cxx.

◆ Send()

void REveManager::Send ( unsigned  connid,
const std::string &  data 
)

Definition at line 848 of file REveManager.cxx.

◆ SendBinary()

void REveManager::SendBinary ( unsigned  connid,
const void data,
std::size_t  len 
)

Definition at line 854 of file REveManager.cxx.

◆ SetClientVersion()

void REveManager::SetClientVersion ( const std::string &  version)

Set client version, used as prefix in scripts URL When changed, web browser will reload all related JS files while full URL will be different Default is empty value - no extra string in URL Version should be string like "1.2" or "ver1.subv2" and not contain any special symbols.

Definition at line 662 of file REveManager.cxx.

◆ SetDefaultHtmlPage()

void REveManager::SetDefaultHtmlPage ( const std::string &  path)

Set content of default window HTML page.

Definition at line 651 of file REveManager.cxx.

◆ SetKeepEmptyCont()

void ROOT::Experimental::REveManager::SetKeepEmptyCont ( Bool_t  k)
inline

Definition at line 172 of file REveManager.hxx.

◆ SetVizDBReplace()

void ROOT::Experimental::REveManager::SetVizDBReplace ( Bool_t  r)
inline

Definition at line 195 of file REveManager.hxx.

◆ SetVizDBUpdate()

void ROOT::Experimental::REveManager::SetVizDBUpdate ( Bool_t  u)
inline

Definition at line 196 of file REveManager.hxx.

◆ Show()

void REveManager::Show ( const RWebDisplayArgs args = "")

Show eve manager in specified browser.

If rootrc variable WebEve.DisableShow is set, HTTP server will be started and access URL printed on stdout.

Definition at line 928 of file REveManager.cxx.

◆ ShowGeometry()

std::shared_ptr< REveGeomViewer > REveManager::ShowGeometry ( const RWebDisplayArgs args = "")

Show current geometry in web browser.

Definition at line 941 of file REveManager.cxx.

◆ SpawnNewScene()

REveScene * REveManager::SpawnNewScene ( const char *  name,
const char *  title = "" 
)

Create a new scene.

Definition at line 203 of file REveManager.cxx.

◆ SpawnNewViewer()

REveViewer * REveManager::SpawnNewViewer ( const char *  name,
const char *  title = "" 
)

Create a new GL viewer.

Definition at line 193 of file REveManager.cxx.

◆ Terminate()

void REveManager::Terminate ( void  )
static

Properly terminate global REveManager.

Definition at line 687 of file REveManager.cxx.

◆ WindowConnect()

void REveManager::WindowConnect ( unsigned  connid)
protected

Process new connection from web window.

Definition at line 720 of file REveManager.cxx.

◆ WindowData()

void REveManager::WindowData ( unsigned  connid,
const std::string &  arg 
)
protected

Process data from web window.

Definition at line 796 of file REveManager.cxx.

◆ WindowDisconnect()

void REveManager::WindowDisconnect ( unsigned  connid)
protected

Process disconnect of web window.

Definition at line 765 of file REveManager.cxx.

Member Data Documentation

◆ fConnList

std::vector<Conn> ROOT::Experimental::REveManager::fConnList
protected

Definition at line 127 of file REveManager.hxx.

◆ fDropLogicals

Bool_t ROOT::Experimental::REveManager::fDropLogicals {kFALSE}
protected

Definition at line 110 of file REveManager.hxx.

◆ fElementIdMap

std::unordered_map<ElementId_t, REveElement*> ROOT::Experimental::REveManager::fElementIdMap
protected

Definition at line 116 of file REveManager.hxx.

◆ fEventScene

REveScene* ROOT::Experimental::REveManager::fEventScene {nullptr}
protected

Definition at line 105 of file REveManager.hxx.

◆ fExcHandler

RExceptionHandler* ROOT::Experimental::REveManager::fExcHandler {nullptr}
protected

exception handler

Definition at line 88 of file REveManager.hxx.

◆ fFullRedraw

Bool_t ROOT::Experimental::REveManager::fFullRedraw {kFALSE}
protected

Definition at line 108 of file REveManager.hxx.

◆ fGeometries

TMap* ROOT::Experimental::REveManager::fGeometries {nullptr}
protected

Definition at line 94 of file REveManager.hxx.

◆ fGeometryAliases

TMap* ROOT::Experimental::REveManager::fGeometryAliases {nullptr}
protected

Definition at line 95 of file REveManager.hxx.

◆ fGlobalScene

REveScene* ROOT::Experimental::REveManager::fGlobalScene {nullptr}
protected

Definition at line 104 of file REveManager.hxx.

◆ fHighlight

REveSelection* ROOT::Experimental::REveManager::fHighlight {nullptr}
protected

Definition at line 124 of file REveManager.hxx.

◆ fKeepEmptyCont

Bool_t ROOT::Experimental::REveManager::fKeepEmptyCont {kFALSE}
protected

Definition at line 111 of file REveManager.hxx.

◆ fLastElementId

ElementId_t ROOT::Experimental::REveManager::fLastElementId {0}
protected

Definition at line 117 of file REveManager.hxx.

◆ fMacroFolder

TFolder* ROOT::Experimental::REveManager::fMacroFolder {nullptr}
protected

Definition at line 97 of file REveManager.hxx.

◆ fMaxElementIds

ElementId_t ROOT::Experimental::REveManager::fMaxElementIds {std::numeric_limits<ElementId_t>::max()}
protected

Definition at line 119 of file REveManager.hxx.

◆ fNumElementIds

ElementId_t ROOT::Experimental::REveManager::fNumElementIds {0}
protected

Definition at line 118 of file REveManager.hxx.

◆ fRedrawDisabled

Int_t ROOT::Experimental::REveManager::fRedrawDisabled {0}
protected

Definition at line 107 of file REveManager.hxx.

◆ fRedrawTimer

TTimer ROOT::Experimental::REveManager::fRedrawTimer
protected

Definition at line 113 of file REveManager.hxx.

◆ fResetCameras

Bool_t ROOT::Experimental::REveManager::fResetCameras {kFALSE}
protected

Definition at line 109 of file REveManager.hxx.

◆ fScenes

REveSceneList* ROOT::Experimental::REveManager::fScenes {nullptr}
protected

Definition at line 102 of file REveManager.hxx.

◆ fSelection

REveSelection* ROOT::Experimental::REveManager::fSelection {nullptr}
protected

Definition at line 123 of file REveManager.hxx.

◆ fSelectionList

REveElement* ROOT::Experimental::REveManager::fSelectionList {nullptr}
protected

Definition at line 122 of file REveManager.hxx.

◆ fTimerActive

Bool_t ROOT::Experimental::REveManager::fTimerActive {kFALSE}
protected

Definition at line 112 of file REveManager.hxx.

◆ fViewers

REveViewerList* ROOT::Experimental::REveManager::fViewers {nullptr}
protected

Definition at line 101 of file REveManager.hxx.

◆ fVizDB

TMap* ROOT::Experimental::REveManager::fVizDB {nullptr}
protected

Definition at line 90 of file REveManager.hxx.

◆ fVizDBReplace

Bool_t ROOT::Experimental::REveManager::fVizDBReplace {kFALSE}
protected

Definition at line 91 of file REveManager.hxx.

◆ fVizDBUpdate

Bool_t ROOT::Experimental::REveManager::fVizDBUpdate {kFALSE}
protected

Definition at line 92 of file REveManager.hxx.

◆ fWebWindow

std::shared_ptr<ROOT::Experimental::RWebWindow> ROOT::Experimental::REveManager::fWebWindow
protected

Definition at line 126 of file REveManager.hxx.

◆ fWorld

REveScene* ROOT::Experimental::REveManager::fWorld {nullptr}
protected

Definition at line 99 of file REveManager.hxx.

Libraries for ROOT::Experimental::REveManager:
[legend]

The documentation for this class was generated from the following files: