269 py =
gPad->GetWh() - py;
273 const Int_t glContext =
gPad->GetGLDevice();
275 if (glContext != -1) {
282 Error(
"DistancetoPrimitive",
283 "Attempt to use TGLHistPainter, while the current pad (gPad) does not support gl");
323 const Int_t glContext =
gPad->GetGLDevice();
325 if (glContext == -1) {
326 Error(
"ExecuteEvent",
327 "Attempt to use TGLHistPainter, while the current pad (gPad) does not support gl");
414 }
else if (event == 5 || py ==
kKey_K || py ==
kKey_k) {
455 static char errMsg[] = {
"TGLHistPainter::GetObjectInfo: Error in a hist painter\n" };
518 if (!std::strcmp(
m,
"SetF3"))
567struct TGLHistPainter::PlotOption_t {
612 if (glContext != -1) {
634Bool_t FindAndRemoveOption(
TString &options,
const char *toFind)
636 const UInt_t len = std::strlen(toFind);
639 if (index !=
kNPOS) {
640 options.
Remove(index, len);
653TGLHistPainter::PlotOption_t
664 if (FindAndRemoveOption(options,
"pol"))
666 if (FindAndRemoveOption(options,
"cyl"))
668 if (FindAndRemoveOption(options,
"sph"))
672 if (FindAndRemoveOption(options,
"lego"))
674 if (FindAndRemoveOption(options,
"surf"))
676 if (FindAndRemoveOption(options,
"tf3"))
678 if (FindAndRemoveOption(options,
"box"))
680 if (FindAndRemoveOption(options,
"iso"))
682 if (FindAndRemoveOption(options,
"col"))
686 if (FindAndRemoveOption(options,
"bb"))
687 parsedOption.fBackBox =
kFALSE;
688 if (FindAndRemoveOption(options,
"fb"))
689 parsedOption.fFrontBox =
kFALSE;
692 if (FindAndRemoveOption(options,
"a"))
693 parsedOption.fDrawAxes =
kFALSE;
727 }
else if (option.fPlotType ==
kGLVoxel) {
740 fGLPainter->SetDrawFrontBox(option.fFrontBox);
773 vp.
X() =
Int_t(vp.
X() * scale);
774 vp.
Y() =
Int_t(vp.
Y() * scale);
A 3-Dim function with parameters.
TGL5DPainter implements "gl5d" option for TTree::Draw.
Paints TH3 histograms by rendering variable-sized boxes matching the bin contents.
The histogram painter class using OpenGL.
void DrawPanel()
Default implementation is OK This function is called from a context menu after right click on a plot'...
TGLPlotCoordinates fCoord
PlotOption_t ParsePaintOption(const TString &option) const
In principle, we can have several conflicting options: "lego surf pol sph", surfbb: surf,...
void CreatePainter(const PlotOption_t &parsed, const TString &option)
Create painter.
char * GetObjectInfo(Int_t px, Int_t py) const
Overrides TObject::GetObjectInfo.
void SetHistogram(TH1 *hist)
Set histogram.
void SetStack(TList *stack)
Set stack.
Bool_t IsInside(Int_t x, Int_t y)
Returns kTRUE if the cell ix, iy is inside one of the graphical cuts.
void Paint(Option_t *option)
Final-overrider for TObject::Paint.
void PadToViewport(Bool_t selectionPass=kFALSE)
void ProcessMessage(const char *message, const TObject *obj)
Process message.
std::unique_ptr< TGLPlotPainter > fGLPainter
void PaintStat(Int_t dostat, TF1 *fit)
Paint statistics.
Int_t MakeCuts(char *cutsOpt)
Make cuts.
std::unique_ptr< TVirtualHistPainter > fDefaultPainter
void SetHighlight()
Set highlight mode.
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute event.
TList * GetContourList(Double_t contour) const
Get contour list.
Int_t DistancetoPrimitive(Int_t px, Int_t py)
Selects plot or axis.
TList * GetStack() const
Get stack.
TGLHistPainter(TH1 *hist)
ROOT does not use exceptions, so, if default painter's creation failed, fDefaultPainter is 0.
void SetShowProjection(const char *option, Int_t nbins)
Set show projection.
Plot-painter implementing LEGO rendering of TH2 histograms in cartesian, polar, cylindrical and spher...
A parametric surface is a surface defined by a parametric equation, involving two parameters (u,...
Bool_t ViewportChanged() const
void SetViewport(const TGLRect &vp)
Setup viewport, if it was changed, plus reset arcball.
void RotateCamera(Int_t px, Int_t py)
Mouse movement.
void StartRotation(Int_t px, Int_t py)
User clicks somewhere (px, py).
void SetXLog(Bool_t xLog)
If log changed, sections must be reset, set fModified.
void SetCoordType(EGLCoordType type)
If coord type was changed, plot must reset sections (if any), set fModified.
void ResetModified()
Reset modified.
void SetZLog(Bool_t zLog)
If log changed, sections must be reset, set fModified.
void SetYLog(Bool_t yLog)
If log changed, sections must be reset, set fModified.
Viewport (pixel base) 2D rectangle class.
Implements painting of TH2 with "SURF" option.
Plot-painter for TF3 functions.
static void InitializeIfNeeded()
Initialize globals that require other libraries to be initialized.
static Float_t GetScreenScalingFactor()
Returns scaling factor between screen points and GL viewport pixels.
Paint TH3 histograms as "voxels" - colored boxes, transparent if transfer function was specified.
2D Histogram with Polygonal Bins
Mother of all ROOT objects.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
void ToLower()
Change string to lower-case.
const char * Data() const
TString & Remove(Ssiz_t pos)
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
Abstract interface to a histogram painter.
static constexpr double s