Logo ROOT  
Reference Guide
TGLVoxelPainter.h
Go to the documentation of this file.
1#ifndef ROOT_TGLVoxelPainter
2#define ROOT_TGLVoxelPainter
3
4#include <utility>
5#include <vector>
6
7#include "TGLPlotPainter.h"
8#include "TGLQuadric.h"
9#include "TString.h"
10#include "TGLUtil.h"
11
12class TGLOrthoCamera;
13class TH1;
14class TF1;
15
17private:
18
21
24
26 mutable std::vector<Double_t> fLevels;
27
28public:
30
31 char *GetPlotInfo(Int_t px, Int_t py);
33 void StartPan(Int_t px, Int_t py);
34 void Pan(Int_t px, Int_t py);
35 void AddOption(const TString &stringOption);
36 void ProcessEvent(Int_t event, Int_t px, Int_t py);
37
38private:
39 //Overriders
40 void InitGL()const;
41 void DeInitGL()const;
42
43 void DrawPlot()const;
44
45
46 void DrawSectionXOZ()const;
47 void DrawSectionYOZ()const;
48 void DrawSectionXOY()const;
49
50 void DrawPalette()const;
51 void DrawPaletteAxis()const;
52
53 //Aux. functions.
54 void FindVoxelColor(Double_t binContent, Float_t *rgba)const;
55 void SetVoxelColor(const Float_t *rgba)const;
56
58 void PreparePalette()const;
59
61
62 ClassDef(TGLVoxelPainter, 0)//Voxel painter
63};
64
65#endif
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:326
1-Dim function class
Definition: TF1.h:211
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.
TGLVoxelPainter & operator=(const TGLVoxelPainter &)
void InitGL() const
Initialize some gl state variables.
Rgl::Range_t fMinMaxVal
void PreparePalette() const
Generate palette.
TGLVoxelPainter(const TGLVoxelPainter &)
void DrawPalette() const
Draw. Palette.
void AddOption(const TString &stringOption)
"z" draw palette or not.
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.
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
The TH1 histogram class.
Definition: TH1.h:56
Basic string class.
Definition: TString.h:131
std::pair< Double_t, Double_t > Range_t
Definition: TGLUtil.h:1194