Logo ROOT  
Reference Guide
REveGeoPainter.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Author: Sergey Linev, 27.02.2020
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2020, 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_REveGeoPainter
13 #define ROOT7_REveGeoPainter
14 
15 #include "TVirtualGeoPainter.h"
16 
17 #include <ROOT/REveGeomViewer.hxx>
18 
19 namespace ROOT {
20 namespace Experimental {
21 
23 
25 
26  std::shared_ptr<REveGeomViewer> fViewer;
27 
28 public:
29  REveGeoPainter(TGeoManager *manager);
30  virtual ~REveGeoPainter();
31 
32  void AddSize3D(Int_t, Int_t, Int_t) override {}
33  TVirtualGeoTrack *AddTrack(Int_t, Int_t, TObject *) override { return nullptr; }
34  void AddTrackPoint(Double_t *, Double_t *, Bool_t =kFALSE) override {}
35  void BombTranslation(const Double_t *, Double_t *) override {}
36  void CheckPoint(Double_t =0, Double_t =0, Double_t =0, Option_t * ="") override {}
37  void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override {}
38  void CheckBoundaryErrors(Int_t =1000000, Double_t =-1.) override {}
39  void CheckBoundaryReference(Int_t =-1) override {}
40  void CheckGeometryFull(Bool_t =kTRUE, Bool_t =kTRUE, Int_t =10000, const Double_t * = nullptr) override {}
41  void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override {}
42  void CheckOverlaps(const TGeoVolume *, Double_t =0.1, Option_t * ="") const override {}
43  Int_t CountVisibleNodes() override { return 0; }
44  void DefaultAngles() override {}
45  void DefaultColors() override {}
46  Int_t DistanceToPrimitiveVol(TGeoVolume *, Int_t, Int_t) override { return 0; }
47  void Draw(Option_t * ="") override {}
48  void DrawBatemanSol(TGeoBatemanSol *, Option_t * ="") override {}
49  void DrawShape(TGeoShape *, Option_t * ="") override {}
50  void DrawOnly(Option_t * ="") override {}
51  void DrawOverlap(void *, Option_t * ="") override {}
52  void DrawCurrentPoint(Int_t) override {}
53  void DrawPanel() override {}
54  void DrawPath(const char *, Option_t * ="") override {}
55  void DrawPolygon(const TGeoPolygon *) override {}
56  void DrawVolume(TGeoVolume *, Option_t * ="") override;
57  void EditGeometry(Option_t * ="") override {}
58  void EstimateCameraMove(Double_t /*tmin*/, Double_t /*tmax*/, Double_t *, Double_t * ) override {}
59  void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override {}
62  Int_t GetColor(Int_t, Float_t) const override { return 0; }
63  Int_t GetNsegments() const override { return 1; }
64  void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override {}
65  Int_t GetBombMode() const override { return 0; }
66  const char *GetDrawPath() const override { return ""; }
67  TGeoVolume *GetDrawnVolume() const override { return nullptr; }
68  TGeoVolume *GetTopVolume() const override { return nullptr; }
69  void GetViewAngles(Double_t &/*longitude*/, Double_t &/*latitude*/, Double_t &/*psi*/) override {}
70  Int_t GetVisLevel() const override { return 0; }
71  Int_t GetVisOption() const override { return 0; }
72  const char *GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override { return "info"; }
73  void GrabFocus(Int_t =0, Double_t =0, Double_t =0, Double_t =0) override {}
74  Double_t *GetViewBox() override { return nullptr; }
75  Bool_t IsPaintingShape() const override { return kFALSE; }
76  Bool_t IsRaytracing() const override { return kFALSE; }
77  Bool_t IsExplodedView() const override { return kFALSE; }
78  TH2F *LegoPlot(Int_t =60, Double_t =0., Double_t =180.,
79  Int_t =90, Double_t =0., Double_t =360.,
80  Double_t =0., Double_t =9999999, Option_t * ="") override { return nullptr; }
81  void ModifiedPad(Bool_t =kFALSE) const override {}
82  void OpProgress(const char *, Long64_t, Long64_t, TStopwatch * =nullptr, Bool_t =kFALSE, Bool_t =kFALSE, const char * ="") override {}
83  void Paint(Option_t * ="") override {}
84  void PaintNode(TGeoNode *, Option_t * ="", TGeoMatrix * = nullptr) override {}
85  void PaintShape(TGeoShape *, Option_t * ="") override {}
86  void PaintOverlap(void*, Option_t * ="") override {}
87  void PrintOverlaps() const override {}
88  void PaintVolume(TGeoVolume *, Option_t * = "", TGeoMatrix * = nullptr) override {}
89  void RandomPoints(const TGeoVolume *, Int_t, Option_t * = "") override {}
90  void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override {}
91  void Raytrace(Option_t* = "") override {}
92  TGeoNode *SamplePoints(Int_t, Double_t &, Double_t, const char*) override { return nullptr; }
93  void SetBombFactors(Double_t =1.3, Double_t =1.3, Double_t =1.3, Double_t =1.3) override {}
94  void SetClippingShape(TGeoShape *) override {}
95  void SetExplodedView(Int_t =0) override {}
96  void SetGeoManager(TGeoManager *) override;
98  void SetCheckedNode(TGeoNode *) override {}
99  void SetNsegments(Int_t =20) override {}
100  void SetNmeshPoints(Int_t) override {}
101  void SetRaytracing(Bool_t =kTRUE) override {}
102  void SetTopVisible(Bool_t =kTRUE) override {}
103  void SetTopVolume(TGeoVolume *) override {}
104  void SetVisLevel(Int_t =3) override {}
105  void SetVisOption(Int_t =0) override {}
106  Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override { return 0; }
107  void Test(Int_t, Option_t *) override {}
108  void TestOverlaps(const char *) override {}
109  Bool_t TestVoxels(TGeoVolume *) override { return kFALSE; }
110  void UnbombTranslation(const Double_t *, Double_t *) override {}
111  Double_t Weight(Double_t, Option_t* = "v") override { return 0.; }
112 
113  ClassDefOverride(REveGeoPainter,0) // Web-based geo painter
114 };
115 
116 } // namespace Experimental
117 } // namespace ROOT
118 
119 
120 #endif
ROOT::Experimental::REveGeoPainter::SetExplodedView
void SetExplodedView(Int_t=0) override
Definition: REveGeoPainter.hxx:95
ROOT::Experimental::REveGeoPainter::TestOverlaps
void TestOverlaps(const char *) override
Definition: REveGeoPainter.hxx:108
ROOT::Experimental::REveGeoPainter::Raytrace
void Raytrace(Option_t *="") override
Definition: REveGeoPainter.hxx:91
ROOT::Experimental::REveGeoPainter::DrawPolygon
void DrawPolygon(const TGeoPolygon *) override
Definition: REveGeoPainter.hxx:55
ROOT::Experimental::REveGeoPainter::fGeoManager
TGeoManager * fGeoManager
Definition: REveGeoPainter.hxx:24
ROOT::Experimental::REveGeoPainter
Definition: REveGeoPainter.hxx:22
ROOT::Experimental::REveGeoPainter::SetGeoManager
void SetGeoManager(TGeoManager *) override
Definition: REveGeoPainter.cxx:28
ROOT::Experimental::REveGeoPainter::BombTranslation
void BombTranslation(const Double_t *, Double_t *) override
Definition: REveGeoPainter.hxx:35
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
ROOT::Experimental::REveGeoPainter::Paint
void Paint(Option_t *="") override
This method must be overridden if a class wants to paint itself.
Definition: REveGeoPainter.hxx:83
ROOT::Experimental::REveGeoPainter::EstimateCameraMove
void EstimateCameraMove(Double_t, Double_t, Double_t *, Double_t *) override
Definition: REveGeoPainter.hxx:58
ROOT::Experimental::REveGeoPainter::SetNmeshPoints
void SetNmeshPoints(Int_t) override
Definition: REveGeoPainter.hxx:100
ROOT::Experimental::REveGeoPainter::SetVisLevel
void SetVisLevel(Int_t=3) override
Definition: REveGeoPainter.hxx:104
ROOT::Experimental::REveGeoPainter::~REveGeoPainter
virtual ~REveGeoPainter()
Definition: REveGeoPainter.cxx:24
ROOT::Experimental::REveGeoPainter::DrawShape
void DrawShape(TGeoShape *, Option_t *="") override
Definition: REveGeoPainter.hxx:49
Option_t
const char Option_t
Definition: RtypesCore.h:66
ROOT::Experimental::REveGeoPainter::ModifiedPad
void ModifiedPad(Bool_t=kFALSE) const override
Definition: REveGeoPainter.hxx:81
ROOT::Experimental::REveGeoPainter::SetBombFactors
void SetBombFactors(Double_t=1.3, Double_t=1.3, Double_t=1.3, Double_t=1.3) override
Definition: REveGeoPainter.hxx:93
ROOT::Experimental::REveGeoPainter::GetViewAngles
void GetViewAngles(Double_t &, Double_t &, Double_t &) override
Definition: REveGeoPainter.hxx:69
TH2F
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
ROOT::Experimental::REveGeoPainter::SetTopVolume
void SetTopVolume(TGeoVolume *) override
Definition: REveGeoPainter.hxx:103
ROOT::Experimental::REveGeoPainter::GetTopVolume
TGeoVolume * GetTopVolume() const override
Definition: REveGeoPainter.hxx:68
Float_t
float Float_t
Definition: RtypesCore.h:57
ROOT::Experimental::REveGeoPainter::ExecuteManagerEvent
void ExecuteManagerEvent(TGeoManager *, Int_t, Int_t, Int_t) override
Definition: REveGeoPainter.hxx:60
ROOT::Experimental::REveGeoPainter::GetColor
Int_t GetColor(Int_t, Float_t) const override
Definition: REveGeoPainter.hxx:62
ROOT::Experimental::REveGeoPainter::SamplePoints
TGeoNode * SamplePoints(Int_t, Double_t &, Double_t, const char *) override
Definition: REveGeoPainter.hxx:92
ROOT::Experimental::REveGeoPainter::DrawPanel
void DrawPanel() override
Definition: REveGeoPainter.hxx:53
ROOT::Experimental::REveGeoPainter::CountVisibleNodes
Int_t CountVisibleNodes() override
Definition: REveGeoPainter.hxx:43
ROOT::Experimental::REveGeoPainter::DefaultAngles
void DefaultAngles() override
Definition: REveGeoPainter.hxx:44
ROOT::Experimental::REveGeoPainter::CheckBoundaryErrors
void CheckBoundaryErrors(Int_t=1000000, Double_t=-1.) override
Definition: REveGeoPainter.hxx:38
ROOT::Experimental::REveGeoPainter::ExecuteVolumeEvent
void ExecuteVolumeEvent(TGeoVolume *, Int_t, Int_t, Int_t) override
Definition: REveGeoPainter.hxx:61
ROOT::Experimental::REveGeoPainter::GetDrawnVolume
TGeoVolume * GetDrawnVolume() const override
Definition: REveGeoPainter.hxx:67
ROOT::Experimental::REveGeoPainter::ExecuteShapeEvent
void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override
Definition: REveGeoPainter.hxx:59
ClassDefOverride
#define ClassDefOverride(name, id)
Definition: Rtypes.h:329
ROOT::Experimental::REveGeoPainter::Test
void Test(Int_t, Option_t *) override
Definition: REveGeoPainter.hxx:107
ROOT::Experimental::REveGeoPainter::AddSize3D
void AddSize3D(Int_t, Int_t, Int_t) override
Definition: REveGeoPainter.hxx:32
TGeoNode
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition: TGeoNode.h:41
bool
ROOT::Experimental::REveGeoPainter::LegoPlot
TH2F * LegoPlot(Int_t=60, Double_t=0., Double_t=180., Int_t=90, Double_t=0., Double_t=360., Double_t=0., Double_t=9999999, Option_t *="") override
Definition: REveGeoPainter.hxx:78
TGeoBatemanSol
Definition: TGeoElement.h:282
ROOT::Experimental::REveGeoPainter::EditGeometry
void EditGeometry(Option_t *="") override
Definition: REveGeoPainter.hxx:57
ROOT::Experimental::REveGeoPainter::DrawOnly
void DrawOnly(Option_t *="") override
Definition: REveGeoPainter.hxx:50
ROOT::Experimental::REveGeoPainter::GrabFocus
void GrabFocus(Int_t=0, Double_t=0, Double_t=0, Double_t=0) override
Definition: REveGeoPainter.hxx:73
ROOT::Experimental::REveGeoPainter::GetBombMode
Int_t GetBombMode() const override
Definition: REveGeoPainter.hxx:65
ROOT::Experimental::REveGeoPainter::TestVoxels
Bool_t TestVoxels(TGeoVolume *) override
Definition: REveGeoPainter.hxx:109
ROOT::Experimental::REveGeoPainter::SetClippingShape
void SetClippingShape(TGeoShape *) override
Definition: REveGeoPainter.hxx:94
ROOT::Experimental::REveGeoPainter::GetBombFactors
void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override
Definition: REveGeoPainter.hxx:64
ROOT::Experimental::REveGeoPainter::SetTopVisible
void SetTopVisible(Bool_t=kTRUE) override
Definition: REveGeoPainter.hxx:102
TGeoShape
Base abstract class for all shapes.
Definition: TGeoShape.h:26
ROOT::Experimental::REveGeoPainter::DrawBatemanSol
void DrawBatemanSol(TGeoBatemanSol *, Option_t *="") override
Definition: REveGeoPainter.hxx:48
ROOT::Experimental::REveGeoPainter::IsRaytracing
Bool_t IsRaytracing() const override
Definition: REveGeoPainter.hxx:76
ROOT::Experimental::REveGeoPainter::GetNsegments
Int_t GetNsegments() const override
Definition: REveGeoPainter.hxx:63
ROOT::Experimental::REveGeoPainter::RandomRays
void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override
Definition: REveGeoPainter.hxx:90
ROOT::Experimental::REveGeoPainter::CheckGeometryFull
void CheckGeometryFull(Bool_t=kTRUE, Bool_t=kTRUE, Int_t=10000, const Double_t *=nullptr) override
Definition: REveGeoPainter.hxx:40
TGeoPolygon
An arbitrary polygon defined by vertices.
Definition: TGeoPolygon.h:20
ROOT::Experimental::REveGeoPainter::GetVolumeInfo
const char * GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override
Definition: REveGeoPainter.hxx:72
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
ROOT::Experimental::REveGeoPainter::Weight
Double_t Weight(Double_t, Option_t *="v") override
Definition: REveGeoPainter.hxx:111
ROOT::Experimental::REveGeoPainter::DistanceToPrimitiveVol
Int_t DistanceToPrimitiveVol(TGeoVolume *, Int_t, Int_t) override
Definition: REveGeoPainter.hxx:46
ROOT::Experimental::REveGeoPainter::PaintVolume
void PaintVolume(TGeoVolume *, Option_t *="", TGeoMatrix *=nullptr) override
Definition: REveGeoPainter.hxx:88
ROOT::Experimental::REveGeoPainter::CheckGeometry
void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override
Definition: REveGeoPainter.hxx:41
ROOT::Experimental::REveGeoPainter::GetViewBox
Double_t * GetViewBox() override
Definition: REveGeoPainter.hxx:74
ROOT::Experimental::REveGeoPainter::IsPaintingShape
Bool_t IsPaintingShape() const override
Definition: REveGeoPainter.hxx:75
ROOT::Experimental::REveGeoPainter::CheckPoint
void CheckPoint(Double_t=0, Double_t=0, Double_t=0, Option_t *="") override
Definition: REveGeoPainter.hxx:36
ROOT::Experimental::REveGeoPainter::DrawCurrentPoint
void DrawCurrentPoint(Int_t) override
Definition: REveGeoPainter.hxx:52
ROOT::Experimental::REveGeoPainter::REveGeoPainter
REveGeoPainter(TGeoManager *manager)
Definition: REveGeoPainter.cxx:18
ROOT::Experimental::REveGeoPainter::SetCheckedNode
void SetCheckedNode(TGeoNode *) override
Definition: REveGeoPainter.hxx:98
ROOT::Experimental::REveGeoPainter::SetNsegments
void SetNsegments(Int_t=20) override
Definition: REveGeoPainter.hxx:99
ROOT::Experimental::REveGeoPainter::AddTrackPoint
void AddTrackPoint(Double_t *, Double_t *, Bool_t=kFALSE) override
Definition: REveGeoPainter.hxx:34
ROOT::Experimental::REveGeoPainter::DrawVolume
void DrawVolume(TGeoVolume *, Option_t *="") override
Definition: REveGeoPainter.cxx:36
ROOT::Experimental::REveGeoPainter::PaintOverlap
void PaintOverlap(void *, Option_t *="") override
Definition: REveGeoPainter.hxx:86
ROOT::Experimental::REveGeoPainter::Draw
void Draw(Option_t *="") override
Default Draw method for all objects.
Definition: REveGeoPainter.hxx:47
ROOT::Experimental::REveGeoPainter::UnbombTranslation
void UnbombTranslation(const Double_t *, Double_t *) override
Definition: REveGeoPainter.hxx:110
TVirtualGeoPainter.h
TVirtualGeoPainter
Abstract class for geometry painters.
Definition: TVirtualGeoPainter.h:32
Double_t
double Double_t
Definition: RtypesCore.h:59
TGeoMatrix
Geometrical transformation package.
Definition: TGeoMatrix.h:41
ROOT::Experimental::REveGeoPainter::DefaultColors
void DefaultColors() override
Definition: REveGeoPainter.hxx:45
ROOT::Experimental::REveGeoPainter::GetVisLevel
Int_t GetVisLevel() const override
Definition: REveGeoPainter.hxx:70
ROOT::Experimental::REveGeoPainter::OpProgress
void OpProgress(const char *, Long64_t, Long64_t, TStopwatch *=nullptr, Bool_t=kFALSE, Bool_t=kFALSE, const char *="") override
Definition: REveGeoPainter.hxx:82
ROOT::Experimental::REveGeoPainter::AddTrack
TVirtualGeoTrack * AddTrack(Int_t, Int_t, TObject *) override
Definition: REveGeoPainter.hxx:33
TStopwatch
Stopwatch class.
Definition: TStopwatch.h:28
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
ROOT::Experimental::REveGeoPainter::SetRaytracing
void SetRaytracing(Bool_t=kTRUE) override
Definition: REveGeoPainter.hxx:101
ROOT::Experimental::REveGeoPainter::fViewer
std::shared_ptr< REveGeomViewer > fViewer
Definition: REveGeoPainter.hxx:26
ROOT::Experimental::REveGeoPainter::RandomPoints
void RandomPoints(const TGeoVolume *, Int_t, Option_t *="") override
Definition: REveGeoPainter.hxx:89
ROOT::Experimental::REveGeoPainter::CheckOverlaps
void CheckOverlaps(const TGeoVolume *, Double_t=0.1, Option_t *="") const override
Definition: REveGeoPainter.hxx:42
ROOT::Experimental::REveGeoPainter::PrintOverlaps
void PrintOverlaps() const override
Definition: REveGeoPainter.hxx:87
ROOT::Experimental::REveGeoPainter::PaintNode
void PaintNode(TGeoNode *, Option_t *="", TGeoMatrix *=nullptr) override
Definition: REveGeoPainter.hxx:84
ROOT::Experimental::REveGeoPainter::DrawOverlap
void DrawOverlap(void *, Option_t *="") override
Definition: REveGeoPainter.hxx:51
ROOT::Experimental::REveGeoPainter::SetVisOption
void SetVisOption(Int_t=0) override
Definition: REveGeoPainter.hxx:105
ROOT::Experimental::REveGeoPainter::CheckBoundaryReference
void CheckBoundaryReference(Int_t=-1) override
Definition: REveGeoPainter.hxx:39
TVirtualGeoTrack
Base class for user-defined tracks attached to a geometry.
Definition: TVirtualGeoTrack.h:27
ROOT::Experimental::REveGeoPainter::GetVisOption
Int_t GetVisOption() const override
Definition: REveGeoPainter.hxx:71
ROOT::Experimental::REveGeoPainter::PaintShape
void PaintShape(TGeoShape *, Option_t *="") override
Definition: REveGeoPainter.hxx:85
TGeoManager
The manager class for any TGeo geometry.
Definition: TGeoManager.h:45
ROOT::Experimental::REveGeoPainter::ShapeDistancetoPrimitive
Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override
Definition: REveGeoPainter.hxx:106
REveGeomViewer.hxx
ROOT::Experimental::REveGeoPainter::SetIteratorPlugin
void SetIteratorPlugin(TGeoIteratorPlugin *) override
Definition: REveGeoPainter.hxx:97
ROOT
VSD Structures.
Definition: StringConv.hxx:21
TGeoVolume
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:49
ROOT::Experimental::REveGeoPainter::DrawPath
void DrawPath(const char *, Option_t *="") override
Definition: REveGeoPainter.hxx:54
ROOT::Experimental::REveGeoPainter::IsExplodedView
Bool_t IsExplodedView() const override
Definition: REveGeoPainter.hxx:77
ROOT::Experimental::REveGeoPainter::GetDrawPath
const char * GetDrawPath() const override
Definition: REveGeoPainter.hxx:66
TGeoIteratorPlugin
Definition: TGeoNode.h:221
int
ROOT::Experimental::REveGeoPainter::CheckShape
void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override
Definition: REveGeoPainter.hxx:37