Plot-painter implementing LEGO rendering of TH2 histograms in cartesian, polar, cylindrical and spherical coordinates.
Definition at line 28 of file TGLLegoPainter.h.
Public Member Functions | |
TGLLegoPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
Ctor. More... | |
void | AddOption (const TString &stringOption) |
Parse additional options. More... | |
char * | GetPlotInfo (Int_t px, Int_t py) |
Obtain bin's info (i, j, value). More... | |
Bool_t | InitGeometry () |
Select method. More... | |
void | Pan (Int_t px, Int_t py) |
Move lego or section. More... | |
void | ProcessEvent (Int_t event, Int_t px, Int_t py) |
Remove all sections and repaint. More... | |
void | StartPan (Int_t px, Int_t py) |
User clicks on a lego with middle mouse button (middle for pad). More... | |
Public Member Functions inherited from TGLPlotPainter | |
TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
TGLPlotPainter's ctor. More... | |
TGLPlotPainter (TGLPlotCamera *camera) | |
TGLPlotPainter's ctor. More... | |
TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable) | |
TGLPlotPainter's ctor. More... | |
virtual void | AddOption (const TString &stringOption)=0 |
Bool_t | CutAxisSelected () const |
virtual void | DeInitGL () const =0 |
virtual void | DrawPlot () const =0 |
Bool_t | GetDrawAxes () |
virtual Bool_t | InitGeometry ()=0 |
virtual void | InitGL () const =0 |
void | InvalidateSelection () |
Selection must be updated. More... | |
virtual void | Paint () |
Draw lego/surf/whatever you can. More... | |
virtual Bool_t | PlotSelected (Int_t px, Int_t py) |
Read color buffer content to find selected object. More... | |
virtual void | ProcessEvent (Int_t event, Int_t px, Int_t py)=0 |
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. More... | |
void | SetPadColor (const TColor *color) |
Used in a pad. More... | |
void | SetPhysicalShapeColor (const Float_t *rgba) |
virtual void | StartPan (Int_t px, Int_t py)=0 |
Public Member Functions inherited from TVirtualGLPainter | |
virtual | ~TVirtualGLPainter () |
virtual char * | GetPlotInfo (Int_t px, Int_t py)=0 |
virtual void | Paint ()=0 |
virtual void | Pan (Int_t px, Int_t py)=0 |
virtual Bool_t | PlotSelected (Int_t px, Int_t py)=0 |
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. More... | |
void | DeInitGL () const |
Return some gl states to original values. More... | |
void | DrawLegoCartesian () const |
Lego in cartesian system. More... | |
void | DrawLegoCylindrical () const |
Lego in cylindrical system. More... | |
void | DrawLegoPolar () const |
Lego in polar system. More... | |
void | DrawLegoSpherical () const |
Lego in spherical system. More... | |
void | DrawPalette () const |
Draw. More... | |
void | DrawPaletteAxis () const |
Draw. Palette. Axis. More... | |
void | DrawPlot () const |
Select method corresponding to coordinate system. More... | |
void | DrawSectionXOY () const |
Empty. No such sections for lego. More... | |
void | DrawSectionXOZ () const |
XOZ plane parallel section. More... | |
void | DrawSectionYOZ () const |
YOZ plane parallel section. More... | |
Bool_t | InitGeometryCartesian () |
Geometry for lego in cartesian coords. More... | |
Bool_t | InitGeometryCylindrical () |
Geometry for lego in cylindrical coords. More... | |
Bool_t | InitGeometryPolar () |
Geometry for lego in polar coords. More... | |
Bool_t | InitGeometrySpherical () |
Geometry for lego in spherical coords. More... | |
void | InitGL () const |
Initialize some gl state variables. More... | |
TGLLegoPainter & | operator= (const TGLLegoPainter &) |
Bool_t | PreparePalette () const |
Initialize color palette. More... | |
void | SetLegoColor () const |
Set lego's color. More... | |
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 44 of file TGLLegoPainter.h.
|
private |
Enumerator | |
---|---|
kColorSimple | |
kColorLevel | |
kCylindricBars |
Definition at line 31 of file TGLLegoPainter.h.
|
private |
TGLLegoPainter::TGLLegoPainter | ( | TH1 * | hist, |
TGLPlotCamera * | camera, | ||
TGLPlotCoordinates * | coord | ||
) |
Ctor.
Definition at line 41 of file TGLLegoPainter.cxx.
Parse additional options.
Implements TGLPlotPainter.
Definition at line 435 of file TGLLegoPainter.cxx.
Clamp z value.
Definition at line 1093 of file TGLLegoPainter.cxx.
|
privatevirtual |
Return some gl states to original values.
Implements TGLPlotPainter.
Definition at line 483 of file TGLLegoPainter.cxx.
|
private |
Lego in cartesian system.
Definition at line 516 of file TGLLegoPainter.cxx.
|
private |
Lego in cylindrical system.
Definition at line 731 of file TGLLegoPainter.cxx.
|
private |
Lego in polar system.
Definition at line 634 of file TGLLegoPainter.cxx.
|
private |
Lego in spherical system.
Definition at line 839 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 1137 of file TGLLegoPainter.cxx.
|
privatevirtual |
Draw. Palette. Axis.
Reimplemented from TGLPlotPainter.
Definition at line 1155 of file TGLLegoPainter.cxx.
|
privatevirtual |
Select method corresponding to coordinate system.
Implements TGLPlotPainter.
Definition at line 495 of file TGLLegoPainter.cxx.
|
privatevirtual |
Empty. No such sections for lego.
Implements TGLPlotPainter.
Definition at line 1065 of file TGLLegoPainter.cxx.
|
privatevirtual |
XOZ plane parallel section.
Implements TGLPlotPainter.
Definition at line 993 of file TGLLegoPainter.cxx.
|
privatevirtual |
YOZ plane parallel section.
Implements TGLPlotPainter.
Definition at line 1029 of file TGLLegoPainter.cxx.
Obtain bin's info (i, j, value).
Implements TVirtualGLPainter.
Definition at line 52 of file TGLLegoPainter.cxx.
|
virtual |
|
private |
Geometry for lego in cartesian coords.
Definition at line 99 of file TGLLegoPainter.cxx.
|
private |
Geometry for lego in cylindrical coords.
Definition at line 262 of file TGLLegoPainter.cxx.
|
private |
Geometry for lego in polar coords.
Definition at line 202 of file TGLLegoPainter.cxx.
|
private |
Geometry for lego in spherical coords.
Definition at line 325 of file TGLLegoPainter.cxx.
|
privatevirtual |
Initialize some gl state variables.
Implements TGLPlotPainter.
Definition at line 468 of file TGLLegoPainter.cxx.
|
private |
Move lego or section.
Implements TVirtualGLPainter.
Definition at line 394 of file TGLLegoPainter.cxx.
|
private |
Initialize color palette.
Definition at line 1116 of file TGLLegoPainter.cxx.
Remove all sections and repaint.
Implements TGLPlotPainter.
Definition at line 1072 of file TGLLegoPainter.cxx.
|
private |
Set lego's color.
Definition at line 976 of file TGLLegoPainter.cxx.
User clicks on a lego with middle mouse button (middle for pad).
Implements TGLPlotPainter.
Definition at line 383 of file TGLLegoPainter.cxx.
|
private |
Definition at line 47 of file TGLLegoPainter.h.
|
mutableprivate |
Definition at line 52 of file TGLLegoPainter.h.
|
private |
Definition at line 45 of file TGLLegoPainter.h.
|
private |
Definition at line 46 of file TGLLegoPainter.h.
|
private |
Definition at line 49 of file TGLLegoPainter.h.
|
mutableprivate |
Definition at line 37 of file TGLLegoPainter.h.
|
private |
Definition at line 39 of file TGLLegoPainter.h.
|
private |
Definition at line 38 of file TGLLegoPainter.h.
|
mutableprivate |
Definition at line 51 of file TGLLegoPainter.h.
|
mutableprivate |
Definition at line 48 of file TGLLegoPainter.h.
|
private |
Definition at line 41 of file TGLLegoPainter.h.
|
private |
Definition at line 42 of file TGLLegoPainter.h.