Logo ROOT  
Reference Guide
REveViewer.hxx
Go to the documentation of this file.
1// @(#)root/eve7:$Id$
2// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007, 2018
3
4/*************************************************************************
5 * Copyright (C) 1995-2019, 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 ROOT7_REveViewer
13#define ROOT7_REveViewer
14
15#include <ROOT/REveElement.hxx>
16
17namespace ROOT {
18namespace Experimental {
19
20class REveScene;
21
22////////////////////////////////////////////////////////////////////////////////
23/// REveViewer
24/// Reve representation of TGLViewer.
25////////////////////////////////////////////////////////////////////////////////
26
27class REveViewer : public REveElement
28{
29public:
31
32private:
33 REveViewer(const REveViewer&) = delete;
34 REveViewer& operator=(const REveViewer&) = delete;
35
37
38 bool fMandatory{true};
39 std::string fPostStreamFlag;
40
41public:
42 REveViewer(const std::string &n="REveViewer", const std::string &t="");
43 virtual ~REveViewer();
44
45 void Redraw(Bool_t resetCameras=kFALSE);
46
47 virtual void AddScene(REveScene* scene);
48 // XXX Missing RemoveScene() ????
49
52
53 void DisconnectClient();
54 void ConnectClient();
55
56 void SetMandatory(bool x);
57 bool GetMandatory() { return fMandatory; }
58
59 void RemoveElementLocal(REveElement *el) override;
60 void RemoveElementsLocal() override;
61 Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override;
62};
63
64
65////////////////////////////////////////////////////////////////////////////////
66/// REveViewerList
67/// List of Viewers providing common operations on REveViewer collections.
68////////////////////////////////////////////////////////////////////////////////
69
71{
72private:
75
76protected:
78
81
82 void HandleTooltip();
83
84public:
85 REveViewerList(const std::string &n="REveViewerList", const std::string &t="");
86 virtual ~REveViewerList();
87
88 void AddElement(REveElement* el) override;
89 void RemoveElementLocal(REveElement* el) override;
90 void RemoveElementsLocal() override;
91
92 // --------------------------------
93
94 virtual void Connect();
95 virtual void Disconnect();
96
97 void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals);
98 void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals);
99 void DeleteAnnotations();
100
101 void SceneDestructing(REveScene* scene);
102
103 // --------------------------------
104
105 void OnMouseOver(TObject* obj, UInt_t state);
106 void OnReMouseOver(TObject* obj, UInt_t state);
107 void OnUnMouseOver(TObject* obj, UInt_t state);
108 void OnClicked(TObject *obj, UInt_t button, UInt_t state);
109 void OnReClicked(TObject *obj, UInt_t button, UInt_t state);
110 void OnUnClicked(TObject *obj, UInt_t button, UInt_t state);
111
112 // --------------------------------
113
116
119
121 void SwitchColorSet();
122 // Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override;
123};
124
125} // namespace Experimental
126} // namespace ROOT
127
128#endif
const Bool_t kFALSE
Definition: RtypesCore.h:101
float Float_t
Definition: RtypesCore.h:57
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 b
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t button
Eve representation of TGLScene.
REveViewerList List of Viewers providing common operations on REveViewer collections.
Definition: REveViewer.hxx:71
void RemoveElementsLocal() override
Decompoundofy children, call base-class version.
Definition: REveViewer.cxx:197
void OnUnClicked(TObject *obj, UInt_t button, UInt_t state)
Slot for global TGLViewer::UnClicked().
Definition: REveViewer.cxx:454
REveViewerList & operator=(const REveViewerList &)=delete
void AddElement(REveElement *el) override
Call base-class implementation.
Definition: REveViewer.cxx:178
void OnReClicked(TObject *obj, UInt_t button, UInt_t state)
Slot for global TGLViewer::ReClicked().
Definition: REveViewer.cxx:437
void OnClicked(TObject *obj, UInt_t button, UInt_t state)
Slot for global TGLViewer::Clicked().
Definition: REveViewer.cxx:420
void HandleTooltip()
Show / hide tooltip for various MouseOver events.
Definition: REveViewer.cxx:323
void SceneDestructing(REveScene *scene)
Callback done from a REveScene destructor allowing proper removal of the scene from affected viewers.
Definition: REveViewer.cxx:308
void OnMouseOver(TObject *obj, UInt_t state)
Slot for global TGLViewer::MouseOver() signal.
Definition: REveViewer.cxx:354
void SetColorBrightness(Float_t b)
Set color brightness.
Definition: REveViewer.cxx:465
void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals)
Repaint all viewers.
Definition: REveViewer.cxx:279
void OnUnMouseOver(TObject *obj, UInt_t state)
Slot for global TGLViewer::UnMouseOver().
Definition: REveViewer.cxx:398
virtual void Disconnect()
Disconnect from TGLViewer class-signals.
Definition: REveViewer.cxx:236
void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals)
Repaint viewers that are tagged as changed.
Definition: REveViewer.cxx:260
void OnReMouseOver(TObject *obj, UInt_t state)
Slot for global TGLViewer::ReMouseOver().
Definition: REveViewer.cxx:376
virtual ~REveViewerList()
Destructor.
Definition: REveViewer.cxx:168
void SwitchColorSet()
Switch background color.
Definition: REveViewer.cxx:473
REveViewerList(const REveViewerList &)=delete
virtual void Connect()
Connect to TGLViewer class-signals.
Definition: REveViewer.cxx:212
void DeleteAnnotations()
Delete annotations from all viewers.
Definition: REveViewer.cxx:296
void RemoveElementLocal(REveElement *el) override
Decompoundofy el, call base-class version.
Definition: REveViewer.cxx:186
REveViewer Reve representation of TGLViewer.
Definition: REveViewer.hxx:28
void RemoveElementLocal(REveElement *el) override
Remove element 'el' from the list of children and also remove appropriate GLScene from GLViewer's lis...
Definition: REveViewer.cxx:80
void DisconnectClient()
Function called from MIR when user closes one of the viewer window.
Definition: REveViewer.cxx:126
void ConnectClient()
Function called from MIR when user wants to stream unsubscribed view.
Definition: REveViewer.cxx:133
void RemoveElementsLocal() override
Remove all children, forwarded to GLViewer.
Definition: REveViewer.cxx:91
virtual ~REveViewer()
Destructor.
Definition: REveViewer.cxx:43
REveViewer(const REveViewer &)=delete
void SetCameraType(ECameraType t)
Definition: REveViewer.hxx:50
REveViewer & operator=(const REveViewer &)=delete
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Stream Camera Info.
Definition: REveViewer.cxx:107
ECameraType GetCameraType() const
Definition: REveViewer.hxx:51
void Redraw(Bool_t resetCameras=kFALSE)
Redraw viewer immediately.
Definition: REveViewer.cxx:49
virtual void AddScene(REveScene *scene)
Add 'scene' to the list of scenes.
Definition: REveViewer.cxx:58
Mother of all ROOT objects.
Definition: TObject.h:41
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
basic_json<> json
Definition: REveElement.hxx:62