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.