Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGLVoxelPainter.h
Go to the documentation of this file.
1#ifndef ROOT_TGLVoxelPainter
2#define ROOT_TGLVoxelPainter
3
4#include <vector>
5
6#include "TGLPlotPainter.h"
7#include "TGLQuadric.h"
8#include "TString.h"
9#include "TGLUtil.h"
10
11class TGLOrthoCamera;
12class TH1;
13class TF1;
14
16private:
17
20
23
25 mutable std::vector<Double_t> fLevels;
26
27public:
29
30 char *GetPlotInfo(Int_t px, Int_t py) override;
31 Bool_t InitGeometry() override;
32 void StartPan(Int_t px, Int_t py) override;
33 void Pan(Int_t px, Int_t py) override;
34 void AddOption(const TString &stringOption) override;
35 void ProcessEvent(Int_t event, Int_t px, Int_t py) override;
36
37private:
38 //Overriders
39 void InitGL()const override;
40 void DeInitGL()const override;
41
42 void DrawPlot()const override;
43
44
45 void DrawSectionXOZ()const override;
46 void DrawSectionYOZ()const override;
47 void DrawSectionXOY()const override;
48
49 void DrawPalette()const;
50 void DrawPaletteAxis()const override;
51
52 //Aux. functions.
53 void FindVoxelColor(Double_t binContent, Float_t *rgba)const;
54 void SetVoxelColor(const Float_t *rgba)const;
55
57 void PreparePalette()const;
58
60
62};
63
64#endif
float Float_t
Definition RtypesCore.h:57
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
winID h TVirtualViewer3D TVirtualGLPainter char GetPlotInfo
1-Dim function class
Definition TF1.h:214
Orthographic projection camera.
Camera for TGLPlotPainter and sub-classes.
Helper class for plot-painters holding information about axis ranges, numbers of bins and flags if ce...
Base class for plot-painters that provide GL rendering of various 2D and 3D histograms,...
Paint TH3 histograms as "voxels" - colored boxes, transparent if transfer function was specified.
void DrawPlot() const override
Draw "voxels".
Bool_t HasSections() const
void SetVoxelColor(const Float_t *rgba) const
Set box color.
void DrawSectionXOZ() const override
Noop.
void ProcessEvent(Int_t event, Int_t px, Int_t py) override
Remove sections, switch on/off box cut.
void Pan(Int_t px, Int_t py) override
User's moving mouse cursor, with middle mouse button pressed (for pad).
void AddOption(const TString &stringOption) override
"z" draw palette or not.
Rgl::Range_t fMinMaxVal
void PreparePalette() const
Generate palette.
void DrawPalette() const
Draw. Palette.
TGLVoxelPainter(const TGLVoxelPainter &)=delete
void DeInitGL() const override
Return back some gl state variables.
void InitGL() const override
Initialize some gl state variables.
void DrawSectionYOZ() const override
Noop.
Bool_t InitGeometry() override
Set ranges, find min and max bin content.
TGLVoxelPainter & operator=(const TGLVoxelPainter &)=delete
TGLLevelPalette fPalette
void DrawPaletteAxis() const override
Draw. Palette. Axis.
void FindVoxelColor(Double_t binContent, Float_t *rgba) const
Find box color.
void StartPan(Int_t px, Int_t py) override
User clicks right mouse button (in a pad).
std::vector< Double_t > fLevels
void DrawSectionXOY() const override
Noop.
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:58
Basic string class.
Definition TString.h:139
std::pair< Double_t, Double_t > Range_t
Definition TGLUtil.h:1202