Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RGeoPainter.hxx
Go to the documentation of this file.
1// Author: Sergey Linev, 27.02.2020
2
3/*************************************************************************
4 * Copyright (C) 1995-2023, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
11#ifndef ROOT7_RGeoPainter
12#define ROOT7_RGeoPainter
13
14#include "TVirtualGeoPainter.h"
15
16#include <ROOT/RGeomViewer.hxx>
17
18namespace ROOT {
19
21
23
24 std::shared_ptr<RGeomViewer> fViewer;
25 Int_t fTopVisible{-1}; ///<! is s
26
27public:
28 RGeoPainter(TGeoManager *manager);
29 ~RGeoPainter() override;
30
31 void AddSize3D(Int_t, Int_t, Int_t) override {}
33 void AddTrackPoint(Double_t *, Double_t *, Bool_t =kFALSE) override;
34 void BombTranslation(const Double_t *, Double_t *) override {}
35 void CheckPoint(Double_t =0, Double_t =0, Double_t =0, Option_t * ="", Double_t = 0.) override {}
36 void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override {}
37 void CheckBoundaryErrors(Int_t =1000000, Double_t =-1.) override {}
38 void CheckBoundaryReference(Int_t =-1) override {}
39 void CheckGeometryFull(Bool_t =kTRUE, Bool_t =kTRUE, Int_t =10000, const Double_t * = nullptr) override {}
40 void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override {}
41 void CheckOverlaps(const TGeoVolume *, Double_t =0.1, Option_t * ="") const override {}
42 Int_t CountVisibleNodes() override { return 0; }
43 void DefaultAngles() override {}
44 void DefaultColors() override {}
46 void Draw(Option_t * ="") override {}
47 void DrawBatemanSol(TGeoBatemanSol *, Option_t * ="") override {}
48 void DrawShape(TGeoShape *, Option_t * ="") override {}
49 void DrawOnly(Option_t * ="") override {}
50 void DrawOverlap(void *, Option_t * ="") override {}
51 void DrawCurrentPoint(Int_t) override {}
52 void DrawPanel() override {}
53 void DrawPath(const char *, Option_t * ="") override {}
54 void DrawPolygon(const TGeoPolygon *) override {}
55 void DrawVolume(TGeoVolume *, Option_t * ="") override;
56 void EditGeometry(Option_t * ="") override {}
57 void EstimateCameraMove(Double_t /*tmin*/, Double_t /*tmax*/, Double_t *, Double_t * ) override {}
61 Int_t GetColor(Int_t, Float_t) const override { return 0; }
62 Int_t GetNsegments() const override { return 1; }
63 void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override {}
64 Int_t GetBombMode() const override { return 0; }
65 const char *GetDrawPath() const override { return ""; }
66 TGeoVolume *GetDrawnVolume() const override { return nullptr; }
67 TGeoVolume *GetTopVolume() const override { return nullptr; }
68 void GetViewAngles(Double_t &/*longitude*/, Double_t &/*latitude*/, Double_t &/*psi*/) override {}
69 Int_t GetVisLevel() const override { return 0; }
70 Int_t GetVisOption() const override { return 0; }
71 const char *GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override { return "info"; }
72 void GrabFocus(Int_t =0, Double_t =0, Double_t =0, Double_t =0) override {}
73 Double_t *GetViewBox() override { return nullptr; }
74 Bool_t IsPaintingShape() const override { return kFALSE; }
75 Bool_t IsRaytracing() const override { return kFALSE; }
76 Bool_t IsExplodedView() const override { return kFALSE; }
78 Int_t =90, Double_t =0., Double_t =360.,
79 Double_t =0., Double_t =9999999, Option_t * ="") override { return nullptr; }
80 void ModifiedPad(Bool_t =kFALSE) const override {}
81 void OpProgress(const char *, Long64_t, Long64_t, TStopwatch * =nullptr, Bool_t =kFALSE, Bool_t =kFALSE, const char * ="") override {}
82 void Paint(Option_t * ="") override {}
83 void PaintNode(TGeoNode *, Option_t * ="", TGeoMatrix * = nullptr) override {}
84 void PaintShape(TGeoShape *, Option_t * ="") override {}
85 void PaintOverlap(void*, Option_t * ="") override {}
86 void PrintOverlaps() const override {}
87 void PaintVolume(TGeoVolume *, Option_t * = "", TGeoMatrix * = nullptr) override {}
88 void RandomPoints(const TGeoVolume *, Int_t, Option_t * = "") override {}
89 void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override {}
90 void Raytrace(Option_t* = "") override {}
91 TGeoNode *SamplePoints(Int_t, Double_t &, Double_t, const char*) override { return nullptr; }
92 void SetBombFactors(Double_t =1.3, Double_t =1.3, Double_t =1.3, Double_t =1.3) override {}
93 void SetClippingShape(TGeoShape *) override {}
94 void SetExplodedView(Int_t =0) override {}
95 void SetGeoManager(TGeoManager *) override;
97 void SetCheckedNode(TGeoNode *) override {}
98 void SetNsegments(Int_t =20) override {}
99 void SetNmeshPoints(Int_t) override {}
100 void SetRaytracing(Bool_t =kTRUE) override {}
101 void SetTopVisible(Bool_t on = kTRUE) override;
102 void SetTopVolume(TGeoVolume *) override {}
103 void SetVisLevel(Int_t =3) override {}
104 void SetVisOption(Int_t =0) override {}
105 Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override { return 0; }
106 void Test(Int_t, Option_t *) override {}
107 void TestOverlaps(const char *) override {}
108 Bool_t TestVoxels(TGeoVolume *) override { return kFALSE; }
109 void UnbombTranslation(const Double_t *, Double_t *) override {}
110 Double_t Weight(Double_t, Option_t* = "v") override { return 0.; }
111
112 ClassDefOverride(RGeoPainter,0) // Web-based geo painter
113};
114
115} // namespace ROOT
116
117
118#endif
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
long long Long64_t
Definition RtypesCore.h:69
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
TVirtualGeoTrack * AddTrack(Int_t, Int_t, TObject *) override
void DrawVolume(TGeoVolume *, Option_t *="") override
void AddTrackPoint(Double_t *, Double_t *, Bool_t=kFALSE) override
std::shared_ptr< RGeomViewer > fViewer
Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override
void EstimateCameraMove(Double_t, Double_t, Double_t *, Double_t *) override
void PaintVolume(TGeoVolume *, Option_t *="", TGeoMatrix *=nullptr) override
void UnbombTranslation(const Double_t *, Double_t *) override
void SetTopVisible(Bool_t on=kTRUE) override
void SetNsegments(Int_t=20) override
Bool_t TestVoxels(TGeoVolume *) override
void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override
Double_t * GetViewBox() override
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
void CheckPoint(Double_t=0, Double_t=0, Double_t=0, Option_t *="", Double_t=0.) override
void RandomPoints(const TGeoVolume *, Int_t, Option_t *="") override
void AddSize3D(Int_t, Int_t, Int_t) override
Bool_t IsPaintingShape() const override
void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override
void SetBombFactors(Double_t=1.3, Double_t=1.3, Double_t=1.3, Double_t=1.3) override
TGeoVolume * GetTopVolume() const override
Bool_t IsRaytracing() const override
void DrawBatemanSol(TGeoBatemanSol *, Option_t *="") override
void EditGeometry(Option_t *="") override
void SetRaytracing(Bool_t=kTRUE) override
void DrawPanel() override
Int_t GetBombMode() const override
void ModifiedPad(Bool_t=kFALSE) const override
void DrawPolygon(const TGeoPolygon *) override
Int_t DistanceToPrimitiveVol(TGeoVolume *, Int_t, Int_t) override
void DefaultColors() override
Int_t fTopVisible
! is s
void SetCheckedNode(TGeoNode *) override
~RGeoPainter() override
Int_t GetNsegments() const override
void DrawOnly(Option_t *="") override
TGeoVolume * GetDrawnVolume() const override
void PaintNode(TGeoNode *, Option_t *="", TGeoMatrix *=nullptr) override
void GetViewAngles(Double_t &, Double_t &, Double_t &) override
void PrintOverlaps() const override
void SetGeoManager(TGeoManager *) override
void PaintOverlap(void *, Option_t *="") override
void OpProgress(const char *, Long64_t, Long64_t, TStopwatch *=nullptr, Bool_t=kFALSE, Bool_t=kFALSE, const char *="") override
void Paint(Option_t *="") override
This method must be overridden if a class wants to paint itself.
TGeoManager * fGeoManager
void SetIteratorPlugin(TGeoIteratorPlugin *) override
void DrawShape(TGeoShape *, Option_t *="") override
Bool_t IsExplodedView() const override
void Draw(Option_t *="") override
Default Draw method for all objects.
void ExecuteManagerEvent(TGeoManager *, Int_t, Int_t, Int_t) override
void DrawCurrentPoint(Int_t) override
void DrawPath(const char *, Option_t *="") override
const char * GetDrawPath() const override
void CheckOverlaps(const TGeoVolume *, Double_t=0.1, Option_t *="") const override
void SetVisOption(Int_t=0) override
void SetTopVolume(TGeoVolume *) override
TGeoNode * SamplePoints(Int_t, Double_t &, Double_t, const char *) override
void TestOverlaps(const char *) override
void CheckBoundaryReference(Int_t=-1) override
void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override
Int_t GetVisOption() const override
void Raytrace(Option_t *="") override
Int_t GetVisLevel() const override
void SetExplodedView(Int_t=0) override
Int_t GetColor(Int_t, Float_t) const override
Int_t CountVisibleNodes() override
void CheckGeometryFull(Bool_t=kTRUE, Bool_t=kTRUE, Int_t=10000, const Double_t *=nullptr) override
void CheckBoundaryErrors(Int_t=1000000, Double_t=-1.) override
const char * GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override
void DefaultAngles() override
void SetVisLevel(Int_t=3) override
void SetClippingShape(TGeoShape *) override
void DrawOverlap(void *, Option_t *="") override
void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override
void GrabFocus(Int_t=0, Double_t=0, Double_t=0, Double_t=0) override
void PaintShape(TGeoShape *, Option_t *="") override
void SetNmeshPoints(Int_t) override
void Test(Int_t, Option_t *) override
void ExecuteVolumeEvent(TGeoVolume *, Int_t, Int_t, Int_t) override
void BombTranslation(const Double_t *, Double_t *) override
Double_t Weight(Double_t, Option_t *="v") override
void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override
The manager class for any TGeo geometry.
Definition TGeoManager.h:44
Geometrical transformation package.
Definition TGeoMatrix.h:38
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition TGeoNode.h:39
An arbitrary polygon defined by vertices.
Definition TGeoPolygon.h:19
Base abstract class for all shapes.
Definition TGeoShape.h:25
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition TGeoVolume.h:43
2-D histogram with a float per channel (see TH1 documentation)
Definition TH2.h:307
Mother of all ROOT objects.
Definition TObject.h:41
Stopwatch class.
Definition TStopwatch.h:28
Abstract class for geometry painters.
Base class for user-defined tracks attached to a geometry.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...