Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RGeoPainter.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_RGeoPainter
13#define ROOT7_RGeoPainter
14
15#include "TVirtualGeoPainter.h"
16
17#include <ROOT/RGeomViewer.hxx>
18
19namespace ROOT {
20namespace Experimental {
21
23
25
26 std::shared_ptr<RGeomViewer> fViewer;
27 Int_t fTopVisible{-1}; ///<! is s
28
29public:
30 RGeoPainter(TGeoManager *manager);
31 virtual ~RGeoPainter();
32
33 void AddSize3D(Int_t, Int_t, Int_t) override {}
34 TVirtualGeoTrack *AddTrack(Int_t, Int_t, TObject *) override { return nullptr; }
35 void AddTrackPoint(Double_t *, Double_t *, Bool_t =kFALSE) override {}
36 void BombTranslation(const Double_t *, Double_t *) override {}
37 void CheckPoint(Double_t =0, Double_t =0, Double_t =0, Option_t * ="") override {}
38 void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override {}
39 void CheckBoundaryErrors(Int_t =1000000, Double_t =-1.) override {}
40 void CheckBoundaryReference(Int_t =-1) override {}
41 void CheckGeometryFull(Bool_t =kTRUE, Bool_t =kTRUE, Int_t =10000, const Double_t * = nullptr) override {}
42 void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override {}
43 void CheckOverlaps(const TGeoVolume *, Double_t =0.1, Option_t * ="") const override {}
44 Int_t CountVisibleNodes() override { return 0; }
45 void DefaultAngles() override {}
46 void DefaultColors() override {}
48 void Draw(Option_t * ="") override {}
49 void DrawBatemanSol(TGeoBatemanSol *, Option_t * ="") override {}
50 void DrawShape(TGeoShape *, Option_t * ="") override {}
51 void DrawOnly(Option_t * ="") override {}
52 void DrawOverlap(void *, Option_t * ="") override {}
53 void DrawCurrentPoint(Int_t) override {}
54 void DrawPanel() override {}
55 void DrawPath(const char *, Option_t * ="") override {}
56 void DrawPolygon(const TGeoPolygon *) override {}
57 void DrawVolume(TGeoVolume *, Option_t * ="") override;
58 void EditGeometry(Option_t * ="") override {}
59 void EstimateCameraMove(Double_t /*tmin*/, Double_t /*tmax*/, Double_t *, Double_t * ) override {}
63 Int_t GetColor(Int_t, Float_t) const override { return 0; }
64 Int_t GetNsegments() const override { return 1; }
65 void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override {}
66 Int_t GetBombMode() const override { return 0; }
67 const char *GetDrawPath() const override { return ""; }
68 TGeoVolume *GetDrawnVolume() const override { return nullptr; }
69 TGeoVolume *GetTopVolume() const override { return nullptr; }
70 void GetViewAngles(Double_t &/*longitude*/, Double_t &/*latitude*/, Double_t &/*psi*/) override {}
71 Int_t GetVisLevel() const override { return 0; }
72 Int_t GetVisOption() const override { return 0; }
73 const char *GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override { return "info"; }
74 void GrabFocus(Int_t =0, Double_t =0, Double_t =0, Double_t =0) override {}
75 Double_t *GetViewBox() override { return nullptr; }
76 Bool_t IsPaintingShape() const override { return kFALSE; }
77 Bool_t IsRaytracing() const override { return kFALSE; }
78 Bool_t IsExplodedView() const override { return kFALSE; }
80 Int_t =90, Double_t =0., Double_t =360.,
81 Double_t =0., Double_t =9999999, Option_t * ="") override { return nullptr; }
82 void ModifiedPad(Bool_t =kFALSE) const override {}
83 void OpProgress(const char *, Long64_t, Long64_t, TStopwatch * =nullptr, Bool_t =kFALSE, Bool_t =kFALSE, const char * ="") override {}
84 void Paint(Option_t * ="") override {}
85 void PaintNode(TGeoNode *, Option_t * ="", TGeoMatrix * = nullptr) override {}
86 void PaintShape(TGeoShape *, Option_t * ="") override {}
87 void PaintOverlap(void*, Option_t * ="") override {}
88 void PrintOverlaps() const override {}
89 void PaintVolume(TGeoVolume *, Option_t * = "", TGeoMatrix * = nullptr) override {}
90 void RandomPoints(const TGeoVolume *, Int_t, Option_t * = "") override {}
91 void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override {}
92 void Raytrace(Option_t* = "") override {}
93 TGeoNode *SamplePoints(Int_t, Double_t &, Double_t, const char*) override { return nullptr; }
94 void SetBombFactors(Double_t =1.3, Double_t =1.3, Double_t =1.3, Double_t =1.3) override {}
95 void SetClippingShape(TGeoShape *) override {}
96 void SetExplodedView(Int_t =0) override {}
97 void SetGeoManager(TGeoManager *) override;
99 void SetCheckedNode(TGeoNode *) override {}
100 void SetNsegments(Int_t =20) override {}
101 void SetNmeshPoints(Int_t) override {}
102 void SetRaytracing(Bool_t =kTRUE) override {}
103 void SetTopVisible(Bool_t on = kTRUE) override;
104 void SetTopVolume(TGeoVolume *) override {}
105 void SetVisLevel(Int_t =3) override {}
106 void SetVisOption(Int_t =0) override {}
107 Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override { return 0; }
108 void Test(Int_t, Option_t *) override {}
109 void TestOverlaps(const char *) override {}
110 Bool_t TestVoxels(TGeoVolume *) override { return kFALSE; }
111 void UnbombTranslation(const Double_t *, Double_t *) override {}
112 Double_t Weight(Double_t, Option_t* = "v") override { return 0.; }
113
114 ClassDefOverride(RGeoPainter,0) // Web-based geo painter
115};
116
117} // namespace Experimental
118} // namespace ROOT
119
120
121#endif
bool Bool_t
Definition RtypesCore.h:63
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
long long Long64_t
Definition RtypesCore.h:80
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
void DrawVolume(TGeoVolume *, Option_t *="") override
Int_t GetColor(Int_t, Float_t) const override
void RandomPoints(const TGeoVolume *, Int_t, Option_t *="") override
Int_t GetVisLevel() const override
void SetTopVisible(Bool_t on=kTRUE) override
void SetExplodedView(Int_t=0) override
void PaintOverlap(void *, Option_t *="") override
Bool_t IsPaintingShape() const override
void CheckBoundaryErrors(Int_t=1000000, Double_t=-1.) override
void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override
void DrawOverlap(void *, Option_t *="") override
void OpProgress(const char *, Long64_t, Long64_t, TStopwatch *=nullptr, Bool_t=kFALSE, Bool_t=kFALSE, const char *="") override
void PaintShape(TGeoShape *, Option_t *="") override
void SetRaytracing(Bool_t=kTRUE) override
void BombTranslation(const Double_t *, Double_t *) override
void SetTopVolume(TGeoVolume *) override
void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override
void Draw(Option_t *="") override
Default Draw method for all objects.
Int_t GetNsegments() const override
Bool_t TestVoxels(TGeoVolume *) override
void SetBombFactors(Double_t=1.3, Double_t=1.3, Double_t=1.3, Double_t=1.3) override
TGeoVolume * GetTopVolume() const override
void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override
const char * GetDrawPath() const override
void Raytrace(Option_t *="") override
void Test(Int_t, Option_t *) override
TGeoNode * SamplePoints(Int_t, Double_t &, Double_t, const char *) override
Double_t * GetViewBox() override
Int_t GetVisOption() const override
Bool_t IsRaytracing() const override
void ExecuteManagerEvent(TGeoManager *, Int_t, Int_t, Int_t) override
void PaintNode(TGeoNode *, Option_t *="", TGeoMatrix *=nullptr) override
void CheckPoint(Double_t=0, Double_t=0, Double_t=0, Option_t *="") override
TVirtualGeoTrack * AddTrack(Int_t, Int_t, TObject *) override
void SetGeoManager(TGeoManager *) override
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 CheckBoundaryReference(Int_t=-1) override
void TestOverlaps(const char *) override
Bool_t IsExplodedView() const override
Double_t Weight(Double_t, Option_t *="v") override
void SetVisOption(Int_t=0) override
void SetCheckedNode(TGeoNode *) override
void DrawOnly(Option_t *="") override
std::shared_ptr< RGeomViewer > fViewer
void SetIteratorPlugin(TGeoIteratorPlugin *) override
void UnbombTranslation(const Double_t *, Double_t *) override
Int_t DistanceToPrimitiveVol(TGeoVolume *, Int_t, Int_t) override
void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override
void CheckOverlaps(const TGeoVolume *, Double_t=0.1, Option_t *="") const override
void SetClippingShape(TGeoShape *) override
void GetViewAngles(Double_t &, Double_t &, Double_t &) override
const char * GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override
TGeoVolume * GetDrawnVolume() const override
void DrawPolygon(const TGeoPolygon *) override
void AddTrackPoint(Double_t *, Double_t *, Bool_t=kFALSE) override
void PaintVolume(TGeoVolume *, Option_t *="", TGeoMatrix *=nullptr) override
void SetNmeshPoints(Int_t) override
void CheckGeometryFull(Bool_t=kTRUE, Bool_t=kTRUE, Int_t=10000, const Double_t *=nullptr) override
void EditGeometry(Option_t *="") override
void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override
void GrabFocus(Int_t=0, Double_t=0, Double_t=0, Double_t=0) 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 AddSize3D(Int_t, Int_t, Int_t) override
void DrawPath(const char *, Option_t *="") override
void PrintOverlaps() const override
void DrawCurrentPoint(Int_t) override
void ExecuteVolumeEvent(TGeoVolume *, Int_t, Int_t, Int_t) override
void SetVisLevel(Int_t=3) override
Int_t GetBombMode() const override
void DrawBatemanSol(TGeoBatemanSol *, Option_t *="") override
void Paint(Option_t *="") override
This method must be overridden if a class wants to paint itself.
void SetNsegments(Int_t=20) override
void DrawShape(TGeoShape *, Option_t *="") override
void ModifiedPad(Bool_t=kFALSE) const override
The manager class for any TGeo geometry.
Definition TGeoManager.h:45
Geometrical transformation package.
Definition TGeoMatrix.h:41
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition TGeoNode.h:41
An arbitrary polygon defined by vertices.
Definition TGeoPolygon.h:20
Base abstract class for all shapes.
Definition TGeoShape.h:26
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition TGeoVolume.h:49
2-D histogram with a float per channel (see TH1 documentation)}
Definition TH2.h:257
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.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.