12#ifndef ROOT7_REveManager
13#define ROOT7_REveManager
25#include <condition_variable>
28#include <unordered_map>
36namespace Experimental {
82 std::condition_variable
fCV{};
90 MIR(
const std::string& cmd,
ElementId_t id,
const std::string& ctype,
unsigned connid)
108 auto uptr = std::make_unique<Handler>();
155 std::unordered_map<std::string, std::shared_ptr<TMethodCall> >
fMethCallMap;
162 void WindowData(
unsigned connid,
const std::string &arg);
204 void EnableRedraw() { printf(
"REveManager::EnableRedraw obsolete \n"); }
208 printf(
"REveManager::Redraw3D oboslete %d %d\n",resetCameras , dropLogicals);
274 void Send(
unsigned connid,
const std::string &
data);
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
List of Scenes providing common operations on REveScene collections.
Eve representation of TGLScene.
Make sure there is a SINGLE running REveSelection for each selection type (select/highlight).
List of Viewers providing common operations on REveViewer collections.
Eve representation of a GL view.
bool Emit(const RLogEntry &entry) override
Utility to stream loggs to client.
MIR(const std::string &cmd, ElementId_t id, const std::string &ctype, unsigned connid)
~RExceptionHandler() override
EStatus Handle(std::exception &exc) override
Handle exceptions deriving from REveException.
std::condition_variable fCV
void SetVizDBReplace(Bool_t r)
void DisconnectEveViewer(REveViewer *)
void ScheduleMIR(const std::string &cmd, ElementId_t i, const std::string &ctype, unsigned connid)
void ClearROOTClassSaved()
Work-around uber ugly hack used in SavePrimitive and co.
REveManager(const REveManager &)=delete
ElementId_t fMaxElementIds
REveScene * GetEventScene() const
std::shared_ptr< ROOT::RWebWindow > fWebWindow
REveSelection * GetHighlight() const
void RegisterGeometryAlias(const TString &alias, const TString &filename)
Register 'name' as an alias for geometry file 'filename'.
void PreDeleteElement(REveElement *element)
Called from REveElement prior to its destruction so the framework components (like object editor) can...
void ExecuteMIR(std::shared_ptr< MIR > mir)
ElementId_t fNumElementIds
REveSceneList * GetScenes() const
std::thread fMIRExecThread
void ClearAllSelections()
Clear all selection objects.
RExceptionHandler * fExcHandler
exception handler
void SetKeepEmptyCont(Bool_t k)
REveSelection * fSelection
void AssignElementId(REveElement *element)
Assign a unique ElementId to given element.
TGeoManager * GetDefaultGeometry()
Get the default geometry.
static void ExecuteInMainThread(std::function< void()> func)
void GetServerStatus(REveServerStatus &)
void SceneSubscriberProcessingChanges(unsigned cinnId)
void SetDefaultHtmlPage(const std::string &path)
Set content of default window HTML page.
REveSelection * GetSelection() const
void AddLocation(const std::string &name, const std::string &path)
Register new directory to THttpServer.
void Send(unsigned connid, const std::string &data)
bool ClientConnectionsFree() const
static void Terminate()
Properly terminate global REveManager.
REveElement * FindElementById(ElementId_t id) const
Lookup ElementId in element map and return corresponding REveElement*.
void SaveVizDB(const TString &filename)
Save visualization-parameter database to file filename.
Bool_t GetVizDBReplace() const
TGeoManager * GetGeometryByAlias(const TString &alias)
Get geometry with given alias.
std::unordered_map< ElementId_t, REveElement * > fElementIdMap
static REveManager * Create()
If global REveManager* REX::gEve is not set initialize it.
std::unordered_map< std::string, std::shared_ptr< TMethodCall > > fMethCallMap
void WindowConnect(unsigned connid)
Process new connection from web window.
std::vector< Conn > fConnList
void AllowMultipleRemoteConnections(bool loopBack=true, bool useAuthKey=true)
Utility function to allow remote RWebWindow connections.
REveElement * FindVizDBEntry(const TString &tag)
Find a visualization-parameter database entry corresponding to tag.
ElementId_t fLastElementId
TGeoManager * GetGeometry(const TString &filename)
Get geometry with given filename.
void ConnectEveViewer(REveViewer *)
REveScene * GetGlobalScene() const
static void ErrorHandler(Int_t level, Bool_t abort, const char *location, const char *msg)
REveSelection * fHighlight
std::queue< std::shared_ptr< MIR > > fMIRqueue
Bool_t GetKeepEmptyCont() const
REveViewerList * fViewers
void LoadVizDB(const TString &filename, Bool_t replace, Bool_t update)
Load visualization-parameter database from file filename.
void DoRedraw3D()
Perform 3D redraw of scenes and viewers whose contents has changed.
REveManager & operator=(const REveManager &)=delete
void SetVizDBUpdate(Bool_t u)
void SendBinary(unsigned connid, const void *data, std::size_t len)
void AddElement(REveElement *element, REveElement *parent=nullptr)
Add an element.
void SetClientVersion(const std::string &version)
Set client version, used as prefix in scripts URL When changed, web browser will reload all related J...
void AddGlobalElement(REveElement *element, REveElement *parent=nullptr)
Add a global element, i.e.
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
void SceneSubscriberWaitingResponse(unsigned cinnId)
REveScene * SpawnNewScene(const char *name, const char *title="")
Create a new scene.
REveServerStatus fServerStatus
std::shared_ptr< ROOT::RWebWindow > GetWebWindow() const
void RemoveElement(REveElement *element, REveElement *parent)
Remove element from parent.
virtual ~REveManager()
Destructor.
void WindowDisconnect(unsigned connid)
Process disconnect of web window.
void FullRedraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
Perform 3D redraw of all scenes and viewers.
REveElement * fSelectionList
REveViewer * SpawnNewViewer(const char *name, const char *title="")
Create a new GL viewer.
Bool_t InsertVizDBEntry(const TString &tag, REveElement *model, Bool_t replace, Bool_t update)
Insert a new visualization-parameter database entry.
void StreamSceneChangesToJson()
REveViewer * GetDefaultViewer() const
Get the default viewer.
REveScene * GetWorld() const
RExceptionHandler * GetExcHandler() const
void BrowseElement(ElementId_t id)
Activate EVE browser (summary view) for specified element id.
Bool_t GetVizDBUpdate() const
REveViewerList * GetViewers() const
void WindowData(unsigned connid, const std::string &arg)
Process data from web window.
void Show(const RWebDisplayArgs &args="")
Show eve manager in specified browser.
REveSelection Container for selected and highlighted elements.
REveViewerList List of Viewers providing common operations on REveViewer collections.
REveViewer Reve representation of TGLViewer.
A diagnostic that can be emitted by the RLogManager.
Abstract RLogHandler base class.
std::unique_ptr< RLogHandler > Remove(RLogHandler *handler)
Remove and return the given log handler. Returns nullptr if not found.
static RLogManager & Get()
void PushFront(std::unique_ptr< RLogHandler > handler)
Add a RLogHandler in the front - to be called before all others.
Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
This class stores a (key,value) pair using an external hash.
The manager class for any TGeo geometry.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Method or function calling interface.
void Add() override
Add std::exception handler to system handler list.
void Remove() override
Remove std::exception handler from system handler list.
R__EXTERN REveManager * gEve
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...