Logo ROOT  
Reference Guide
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);
32 void StartPan(Int_t px, Int_t py);
33 void Pan(Int_t px, Int_t py);
34 void AddOption(const TString &stringOption);
35 void ProcessEvent(Int_t event, Int_t px, Int_t py);
36
37private:
38 //Overriders
39 void InitGL()const;
40 void DeInitGL()const;
41
42 void DrawPlot()const;
43
44
45 void DrawSectionXOZ()const;
46 void DrawSectionYOZ()const;
47 void DrawSectionXOY()const;
48
49 void DrawPalette()const;
50 void DrawPaletteAxis()const;
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
61 ClassDef(TGLVoxelPainter, 0)//Voxel painter
62};
63
64#endif
int Int_t
Definition: RtypesCore.h:45
bool Bool_t
Definition: RtypesCore.h:63
double Double_t
Definition: RtypesCore.h:59
float Float_t
Definition: RtypesCore.h:57
#define ClassDef(name, id)
Definition: Rtypes.h:325
1-Dim function class
Definition: TF1.h:213
Orthographic projection camera.
Camera for TGLPlotPainter and sub-classes.
Definition: TGLPlotCamera.h:22
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 DrawPaletteAxis() const
Draw. Palette. Axis.
void DeInitGL() const
Return back some gl state variables.
void DrawSectionXOY() const
Noop.
void DrawSectionYOZ() const
Noop.
Bool_t HasSections() const
void SetVoxelColor(const Float_t *rgba) const
Set box color.
void InitGL() const
Initialize some gl state variables.
Rgl::Range_t fMinMaxVal
void PreparePalette() const
Generate palette.
void DrawPalette() const
Draw. Palette.
void AddOption(const TString &stringOption)
"z" draw palette or not.
TGLVoxelPainter(const TGLVoxelPainter &)=delete
void DrawSectionXOZ() const
Noop.
void ProcessEvent(Int_t event, Int_t px, Int_t py)
Remove sections, switch on/off box cut.
void Pan(Int_t px, Int_t py)
User's moving mouse cursor, with middle mouse button pressed (for pad).
Bool_t InitGeometry()
Set ranges, find min and max bin content.
TGLVoxelPainter & operator=(const TGLVoxelPainter &)=delete
TGLLevelPalette fPalette
void DrawPlot() const
Draw "voxels".
void FindVoxelColor(Double_t binContent, Float_t *rgba) const
Find box color.
void StartPan(Int_t px, Int_t py)
User clicks right mouse button (in a pad).
char * GetPlotInfo(Int_t px, Int_t py)
Show box info (i, j, k, binContent).
std::vector< Double_t > fLevels
TH1 is the base class of all histogram classes in ROOT.
Definition: TH1.h:58
Basic string class.
Definition: TString.h:136
std::pair< Double_t, Double_t > Range_t
Definition: TGLUtil.h:1195