Plot-painter implementing LEGO rendering of TH2 histograms in cartesian, polar, cylindrical and spherical coordinates.
Definition at line 31 of file TGLLegoPainter.h.
| Public Member Functions | |
| TGLLegoPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
| Ctor. | |
| void | AddOption (const TString &stringOption) override | 
| Parse additional options. | |
| char * | GetPlotInfo (Int_t px, Int_t py) override | 
| Obtain bin's info (i, j, value). | |
| Bool_t | InitGeometry () override | 
| Select method. | |
| TClass * | IsA () const override | 
| void | Pan (Int_t px, Int_t py) override | 
| Move lego or section. | |
| void | ProcessEvent (Int_t event, Int_t px, Int_t py) override | 
| Remove all sections and repaint. | |
| void | StartPan (Int_t px, Int_t py) override | 
| User clicks on a lego with middle mouse button (middle for pad). | |
| void | Streamer (TBuffer &) override | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|  Public Member Functions inherited from TGLPlotPainter | |
| TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
| TGLPlotPainter's ctor. | |
| TGLPlotPainter (TGLPlotCamera *camera) | |
| TGLPlotPainter's ctor. | |
| TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable) | |
| TGLPlotPainter's ctor. | |
| Bool_t | CutAxisSelected () const | 
| Bool_t | GetDrawAxes () | 
| void | InvalidateSelection () | 
| Selection must be updated. | |
| TClass * | IsA () const override | 
| void | Paint () override | 
| Draw lego/surf/whatever you can. | |
| Bool_t | PlotSelected (Int_t px, Int_t py) override | 
| Read color buffer content to find selected object. | |
| const TGLPlotBox & | RefBackBox () const | 
| void | SetDrawAxes (Bool_t s) | 
| void | SetDrawBackBox (Bool_t b) | 
| void | SetDrawFrontBox (Bool_t b) | 
| virtual void | SetFrameColor (const TColor *frameColor) | 
| Set plot's back box color. | |
| void | SetPadColor (const TColor *color) | 
| Used in a pad. | |
| void | SetPhysicalShapeColor (const Float_t *rgba) | 
| void | Streamer (TBuffer &) override | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
|  Public Member Functions inherited from TVirtualGLPainter | |
| virtual | ~TVirtualGLPainter () | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
| Static Public Member Functions | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
|  Static Public Member Functions inherited from TGLPlotPainter | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
|  Static Public Member Functions inherited from TVirtualGLPainter | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
| Private Types | |
| typedef std::pair< Double_t, Double_t > | CosSin_t | 
| enum | ELegoType { kColorSimple , kColorLevel , kCylindricBars } | 
| Private Member Functions | |
| TGLLegoPainter (const TGLLegoPainter &) | |
| Bool_t | ClampZ (Double_t &zVal) const | 
| Clamp z value. | |
| void | DeInitGL () const override | 
| Return some gl states to original values. | |
| void | DrawLegoCartesian () const | 
| Lego in cartesian system. | |
| void | DrawLegoCylindrical () const | 
| Lego in cylindrical system. | |
| void | DrawLegoPolar () const | 
| Lego in polar system. | |
| void | DrawLegoSpherical () const | 
| Lego in spherical system. | |
| void | DrawPalette () const | 
| Draw. | |
| void | DrawPaletteAxis () const override | 
| Draw. Palette. Axis. | |
| void | DrawPlot () const override | 
| Select method corresponding to coordinate system. | |
| void | DrawSectionXOY () const override | 
| Empty. No such sections for lego. | |
| void | DrawSectionXOZ () const override | 
| XOZ plane parallel section. | |
| void | DrawSectionYOZ () const override | 
| YOZ plane parallel section. | |
| Bool_t | InitGeometryCartesian () | 
| Geometry for lego in cartesian coords. | |
| Bool_t | InitGeometryCylindrical () | 
| Geometry for lego in cylindrical coords. | |
| Bool_t | InitGeometryPolar () | 
| Geometry for lego in polar coords. | |
| Bool_t | InitGeometrySpherical () | 
| Geometry for lego in spherical coords. | |
| void | InitGL () const override | 
| Initialize some gl state variables. | |
| TGLLegoPainter & | operator= (const TGLLegoPainter &) | 
| Bool_t | PreparePalette () const | 
| Initialize color palette. | |
| void | SetLegoColor () const | 
| Set lego's color. | |
| Private Attributes | |
| TString | fBinInfo | 
| std::vector< Double_t > | fColorLevels | 
| std::vector< CosSin_t > | fCosSinTableX | 
| std::vector< CosSin_t > | fCosSinTableY | 
| Bool_t | fDrawErrors | 
| ELegoType | fLegoType | 
| Rgl::Range_t | fMinMaxVal | 
| Double_t | fMinZ | 
| TGLLevelPalette | fPalette | 
| TGLQuadric | fQuadric | 
| std::vector< Rgl::Range_t > | fXEdges | 
| std::vector< Rgl::Range_t > | fYEdges | 
#include <TGLLegoPainter.h>
| 
 | private | 
Definition at line 47 of file TGLLegoPainter.h.
| 
 | private | 
| Enumerator | |
|---|---|
| kColorSimple | |
| kColorLevel | |
| kCylindricBars | |
Definition at line 34 of file TGLLegoPainter.h.
| 
 | private | 
| TGLLegoPainter::TGLLegoPainter | ( | TH1 * | hist, | 
| TGLPlotCamera * | camera, | ||
| TGLPlotCoordinates * | coord | ||
| ) | 
Ctor.
Definition at line 40 of file TGLLegoPainter.cxx.
| 
 | overridevirtual | 
Parse additional options.
Implements TGLPlotPainter.
Definition at line 434 of file TGLLegoPainter.cxx.
Clamp z value.
Definition at line 1092 of file TGLLegoPainter.cxx.
| 
 | static | 
| 
 | inlinestaticconstexpr | 
Definition at line 100 of file TGLLegoPainter.h.
| 
 | inlinestatic | 
Definition at line 100 of file TGLLegoPainter.h.
| 
 | overrideprivatevirtual | 
Return some gl states to original values.
Implements TGLPlotPainter.
Definition at line 482 of file TGLLegoPainter.cxx.
| 
 | private | 
Lego in cartesian system.
Definition at line 515 of file TGLLegoPainter.cxx.
| 
 | private | 
Lego in cylindrical system.
Definition at line 730 of file TGLLegoPainter.cxx.
| 
 | private | 
Lego in polar system.
Definition at line 633 of file TGLLegoPainter.cxx.
| 
 | private | 
Lego in spherical system.
Definition at line 838 of file TGLLegoPainter.cxx.
| 
 | private | 
Draw.
Palette. Originally, fCamera was never null. It can be a null now because of gl-viewer.
Definition at line 1136 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
Draw. Palette. Axis.
Reimplemented from TGLPlotPainter.
Definition at line 1154 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
Select method corresponding to coordinate system.
Implements TGLPlotPainter.
Definition at line 494 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
Empty. No such sections for lego.
Implements TGLPlotPainter.
Definition at line 1064 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
XOZ plane parallel section.
Implements TGLPlotPainter.
Definition at line 992 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
YOZ plane parallel section.
Implements TGLPlotPainter.
Definition at line 1028 of file TGLLegoPainter.cxx.
Obtain bin's info (i, j, value).
Implements TVirtualGLPainter.
Definition at line 51 of file TGLLegoPainter.cxx.
| 
 | overridevirtual | 
| 
 | private | 
Geometry for lego in cartesian coords.
Definition at line 98 of file TGLLegoPainter.cxx.
| 
 | private | 
Geometry for lego in cylindrical coords.
Definition at line 261 of file TGLLegoPainter.cxx.
| 
 | private | 
Geometry for lego in polar coords.
Definition at line 201 of file TGLLegoPainter.cxx.
| 
 | private | 
Geometry for lego in spherical coords.
Definition at line 324 of file TGLLegoPainter.cxx.
| 
 | overrideprivatevirtual | 
Initialize some gl state variables.
Implements TGLPlotPainter.
Definition at line 467 of file TGLLegoPainter.cxx.
| 
 | inlineoverridevirtual | 
Reimplemented from TVirtualGLPainter.
Definition at line 100 of file TGLLegoPainter.h.
| 
 | private | 
Move lego or section.
Implements TVirtualGLPainter.
Definition at line 393 of file TGLLegoPainter.cxx.
| 
 | private | 
Initialize color palette.
Definition at line 1115 of file TGLLegoPainter.cxx.
Remove all sections and repaint.
Implements TGLPlotPainter.
Definition at line 1071 of file TGLLegoPainter.cxx.
| 
 | private | 
Set lego's color.
Definition at line 975 of file TGLLegoPainter.cxx.
User clicks on a lego with middle mouse button (middle for pad).
Implements TGLPlotPainter.
Definition at line 382 of file TGLLegoPainter.cxx.
| 
 | overridevirtual | 
Reimplemented from TVirtualGLPainter.
| 
 | inline | 
Definition at line 100 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 50 of file TGLLegoPainter.h.
| 
 | mutableprivate | 
Definition at line 55 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 48 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 49 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 52 of file TGLLegoPainter.h.
| 
 | mutableprivate | 
Definition at line 40 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 42 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 41 of file TGLLegoPainter.h.
| 
 | mutableprivate | 
Definition at line 54 of file TGLLegoPainter.h.
| 
 | mutableprivate | 
Definition at line 51 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 44 of file TGLLegoPainter.h.
| 
 | private | 
Definition at line 45 of file TGLLegoPainter.h.