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
18
19namespace ROOT {
20namespace Experimental {
21
23
25
26 std::shared_ptr<REveGeomViewer> fViewer;
27
28public:
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 {}
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 {}
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; }
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
const Bool_t kFALSE
Definition: RtypesCore.h:90
double Double_t
Definition: RtypesCore.h:57
long long Long64_t
Definition: RtypesCore.h:71
float Float_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:89
const char Option_t
Definition: RtypesCore.h:64
#define ClassDefOverride(name, id)
Definition: Rtypes.h:326
void DrawPolygon(const TGeoPolygon *) override
void UnbombTranslation(const Double_t *, Double_t *) override
void SetNsegments(Int_t=20) override
void SetBombFactors(Double_t=1.3, Double_t=1.3, Double_t=1.3, Double_t=1.3) override
void Test(Int_t, Option_t *) override
void PaintOverlap(void *, Option_t *="") 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 SetClippingShape(TGeoShape *) override
Int_t GetBombMode() const override
std::shared_ptr< REveGeomViewer > fViewer
void ModifiedPad(Bool_t=kFALSE) const override
void BombTranslation(const Double_t *, Double_t *) override
void Paint(Option_t *="") override
This method must be overridden if a class wants to paint itself.
void DrawPath(const char *, Option_t *="") override
TGeoNode * SamplePoints(Int_t, Double_t &, Double_t, const char *) override
void GetViewAngles(Double_t &, Double_t &, Double_t &) override
void AddTrackPoint(Double_t *, Double_t *, Bool_t=kFALSE) override
void SetTopVisible(Bool_t=kTRUE) override
void EstimateCameraMove(Double_t, Double_t, Double_t *, Double_t *) override
void Draw(Option_t *="") override
Default Draw method for all objects.
void PaintNode(TGeoNode *, Option_t *="", TGeoMatrix *=nullptr) override
void ExecuteVolumeEvent(TGeoVolume *, Int_t, Int_t, Int_t) override
Int_t GetVisOption() const override
void RandomPoints(const TGeoVolume *, Int_t, Option_t *="") override
void AddSize3D(Int_t, Int_t, Int_t) override
void OpProgress(const char *, Long64_t, Long64_t, TStopwatch *=nullptr, Bool_t=kFALSE, Bool_t=kFALSE, const char *="") override
Bool_t IsRaytracing() const override
void SetVisLevel(Int_t=3) override
void CheckGeometry(Int_t, Double_t, Double_t, Double_t) const override
Int_t GetColor(Int_t, Float_t) const override
void CheckBoundaryErrors(Int_t=1000000, Double_t=-1.) override
void TestOverlaps(const char *) override
void DrawOverlap(void *, Option_t *="") override
void DrawShape(TGeoShape *, Option_t *="") override
void SetCheckedNode(TGeoNode *) override
TVirtualGeoTrack * AddTrack(Int_t, Int_t, TObject *) override
void GrabFocus(Int_t=0, Double_t=0, Double_t=0, Double_t=0) override
void CheckPoint(Double_t=0, Double_t=0, Double_t=0, Option_t *="") override
void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override
void DrawCurrentPoint(Int_t) override
REveGeoPainter(TGeoManager *manager)
void PrintOverlaps() const override
void EditGeometry(Option_t *="") override
TGeoVolume * GetDrawnVolume() const override
void CheckOverlaps(const TGeoVolume *, Double_t=0.1, Option_t *="") const override
void SetTopVolume(TGeoVolume *) override
void SetExplodedView(Int_t=0) override
void PaintShape(TGeoShape *, Option_t *="") override
Int_t DistanceToPrimitiveVol(TGeoVolume *, Int_t, Int_t) override
TGeoVolume * GetTopVolume() const override
void DrawOnly(Option_t *="") override
void SetVisOption(Int_t=0) override
const char * GetDrawPath() const override
Int_t GetVisLevel() const override
const char * GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override
Bool_t IsExplodedView() const override
void CheckBoundaryReference(Int_t=-1) override
void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override
void RandomRays(Int_t, Double_t, Double_t, Double_t, const char *, Bool_t) override
void ExecuteManagerEvent(TGeoManager *, Int_t, Int_t, Int_t) override
void CheckShape(TGeoShape *, Int_t, Int_t, Option_t *) override
void SetIteratorPlugin(TGeoIteratorPlugin *) override
void CheckGeometryFull(Bool_t=kTRUE, Bool_t=kTRUE, Int_t=10000, const Double_t *=nullptr) override
Bool_t IsPaintingShape() const override
Double_t Weight(Double_t, Option_t *="v") override
void DrawBatemanSol(TGeoBatemanSol *, Option_t *="") override
Bool_t TestVoxels(TGeoVolume *) override
Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override
void Raytrace(Option_t *="") override
void SetRaytracing(Bool_t=kTRUE) override
void DrawVolume(TGeoVolume *, Option_t *="") override
void SetGeoManager(TGeoManager *) override
void PaintVolume(TGeoVolume *, Option_t *="", TGeoMatrix *=nullptr) override
Int_t GetNsegments() const override
The manager class for any TGeo geometry.
Definition: TGeoManager.h:43
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:47
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
Mother of all ROOT objects.
Definition: TObject.h:37
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...
Definition: StringConv.hxx:21