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:
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 Int_t CountVisibleNodes() override { return 0; }
36 void DefaultAngles() override {}
37 void DefaultColors() override {}
39 void Draw(Option_t * ="") override {}
40 void DrawBatemanSol(TGeoBatemanSol *, Option_t * ="") override {}
41 void DrawShape(TGeoShape *, Option_t * ="") override {}
42 void DrawOnly(Option_t * ="") override {}
43 void DrawOverlap(void *, Option_t * ="") override {}
44 void DrawCurrentPoint(Int_t) override {}
45 void DrawPanel() override {}
46 void DrawPath(const char *, Option_t * ="") override {}
47 void DrawPolygon(const TGeoPolygon *) override {}
48 void DrawVolume(TGeoVolume *, Option_t * ="") override;
49 void EditGeometry(Option_t * ="") override {}
50 void EstimateCameraMove(Double_t /*tmin*/, Double_t /*tmax*/, Double_t *, Double_t * ) override {}
54 Int_t GetColor(Int_t, Float_t) const override { return 0; }
55 Int_t GetNsegments() const override { return 1; }
56 void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override {}
57 Int_t GetBombMode() const override { return 0; }
58 const char *GetDrawPath() const override { return ""; }
59 TGeoVolume *GetDrawnVolume() const override { return nullptr; }
60 TGeoVolume *GetTopVolume() const override { return nullptr; }
61 void GetViewAngles(Double_t &/*longitude*/, Double_t &/*latitude*/, Double_t &/*psi*/) override {}
62 Int_t GetVisLevel() const override { return 0; }
63 Int_t GetVisOption() const override { return 0; }
64 const char *GetVolumeInfo(const TGeoVolume *, Int_t, Int_t) const override { return "info"; }
65 void GrabFocus(Int_t =0, Double_t =0, Double_t =0, Double_t =0) override {}
66 Double_t *GetViewBox() override { return nullptr; }
67 Bool_t IsPaintingShape() const override { return kFALSE; }
68 Bool_t IsRaytracing() const override { return kFALSE; }
69 Bool_t IsExplodedView() const override { return kFALSE; }
70 void ModifiedPad(Bool_t =kFALSE) const override {}
71 void Paint(Option_t * ="") override {}
72 void PaintNode(TGeoNode *, Option_t * ="", TGeoMatrix * = nullptr) override {}
73 void PaintShape(TGeoShape *, Option_t * ="") override {}
74 void PaintOverlap(void*, Option_t * ="") override {}
75 void PaintVolume(TGeoVolume *, Option_t * = "", TGeoMatrix * = nullptr) override {}
76 void Raytrace(Option_t * = "") override {}
77 void SetBombFactors(Double_t =1.3, Double_t =1.3, Double_t =1.3, Double_t =1.3) override {}
78 void SetClippingShape(TGeoShape *) override {}
79 void SetExplodedView(Int_t =0) override {}
80 void SetGeoManager(TGeoManager *) override;
82 void SetNsegments(Int_t =20) override {}
83 void SetRaytracing(Bool_t =kTRUE) override {}
84 void SetTopVisible(Bool_t on = kTRUE) override;
85 void SetTopVolume(TGeoVolume *) override {}
86 void SetVisLevel(Int_t =3) override {}
87 void SetVisOption(Int_t =0) override {}
88 Int_t ShapeDistancetoPrimitive(const TGeoShape *, Int_t, Int_t, Int_t) const override { return 0; }
89 void UnbombTranslation(const Double_t *, Double_t *) override {}
90
91 ClassDefOverride(RGeoPainter,0) // Web-based geo painter
92};
93
94} // namespace ROOT
95
96
97#endif
bool Bool_t
Boolean (0=false, 1=true) (bool)
Definition RtypesCore.h:77
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:59
float Float_t
Float 4 bytes (float)
Definition RtypesCore.h:71
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
const char Option_t
Option string (const char)
Definition RtypesCore.h:80
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
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
void GetBombFactors(Double_t &, Double_t &, Double_t &, Double_t &) const override
Double_t * GetViewBox() override
void AddSize3D(Int_t, Int_t, Int_t) override
Bool_t IsPaintingShape() 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
~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 SetGeoManager(TGeoManager *) override
RGeoPainter(TGeoManager *manager)
void PaintOverlap(void *, Option_t *="") 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 SetVisOption(Int_t=0) override
void SetTopVolume(TGeoVolume *) 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
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 GrabFocus(Int_t=0, Double_t=0, Double_t=0, Double_t=0) override
void PaintShape(TGeoShape *, Option_t *="") override
void ExecuteVolumeEvent(TGeoVolume *, Int_t, Int_t, Int_t) override
void BombTranslation(const Double_t *, Double_t *) override
void ExecuteShapeEvent(TGeoShape *, Int_t, Int_t, Int_t) override
Class representing the Bateman solution for a decay branch.
The manager class for any TGeo geometry.
Definition TGeoManager.h:45
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
Mother of all ROOT objects.
Definition TObject.h:41
Abstract class for geometry painters.
Base class for user-defined tracks attached to a geometry.
Namespace for new ROOT classes and functions.