Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGLLegoPainter Class Reference

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.
 
TClassIsA () 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.
 
TClassIsA () 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 TGLPlotBoxRefBackBox () 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 TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TGLPlotPainter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TVirtualGLPainter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Private Types

typedef std::pair< Double_t, Double_tCosSin_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.
 
TGLLegoPainteroperator= (const TGLLegoPainter &)
 
Bool_t PreparePalette () const
 Initialize color palette.
 
void SetLegoColor () const
 Set lego's color.
 

Private Attributes

TString fBinInfo
 
std::vector< Double_tfColorLevels
 
std::vector< CosSin_tfCosSinTableX
 
std::vector< CosSin_tfCosSinTableY
 
Bool_t fDrawErrors
 
ELegoType fLegoType
 
Rgl::Range_t fMinMaxVal
 
Double_t fMinZ
 
TGLLevelPalette fPalette
 
TGLQuadric fQuadric
 
std::vector< Rgl::Range_tfXEdges
 
std::vector< Rgl::Range_tfYEdges
 

Additional Inherited Members

- Public Types inherited from TGLPlotPainter
enum  ECutAxisID { kXAxis = 7 , kYAxis = 8 , kZAxis = 9 }
 
- Protected Types inherited from TGLPlotPainter
enum  ESelectionBase { kHighColorSelectionBase = 7 , kTrueColorSelectionBase = 10 }
 
- Protected Member Functions inherited from TGLPlotPainter
virtual void ClearBuffers () const
 
void DrawSections () const
 Draw sections (if any).
 
const TColorGetPadColor () const
 Get pad color.
 
void MoveSection (Int_t px, Int_t py)
 Create dynamic profile using selected plane.
 
void PrintPlot () const
 Generate PS using gl2ps.
 
void RestoreModelviewMatrix () const
 
void RestoreProjectionMatrix () const
 
void SaveModelviewMatrix () const
 
void SaveProjectionMatrix () const
 
- Protected Attributes inherited from TGLPlotPainter
TGLPlotBox fBackBox
 
TGLBoxCut fBoxCut
 
TGLPlotCamerafCamera
 
TGLPlotCoordinatesfCoord
 
Bool_t fDrawAxes
 
Bool_t fDrawPalette
 
Bool_t fHighColor
 
TH1fHist
 
TPoint fMousePosition
 
Double_t fPadPhi
 
Double_t fPadTheta
 
const Float_tfPhysicalShapeColor
 
Int_t fSelectedPart
 
TGLSelectionBuffer fSelection
 
Int_t fSelectionBase
 
Bool_t fSelectionPass
 
Bool_t fUpdateSelection
 
TAxisfXAxis
 
Double_t fXOYSectionPos
 
Double_t fXOZSectionPos
 
TAxisfYAxis
 
Double_t fYOZSectionPos
 
TAxisfZAxis
 
std::vector< Double_tfZLevels
 

#include <TGLLegoPainter.h>

Inheritance diagram for TGLLegoPainter:
[legend]

Member Typedef Documentation

◆ CosSin_t

typedef std::pair<Double_t, Double_t> TGLLegoPainter::CosSin_t
private

Definition at line 47 of file TGLLegoPainter.h.

Member Enumeration Documentation

◆ ELegoType

Enumerator
kColorSimple 
kColorLevel 
kCylindricBars 

Definition at line 34 of file TGLLegoPainter.h.

Constructor & Destructor Documentation

◆ TGLLegoPainter() [1/2]

TGLLegoPainter::TGLLegoPainter ( const TGLLegoPainter )
private

◆ TGLLegoPainter() [2/2]

TGLLegoPainter::TGLLegoPainter ( TH1 hist,
TGLPlotCamera camera,
TGLPlotCoordinates coord 
)

Ctor.

Definition at line 40 of file TGLLegoPainter.cxx.

Member Function Documentation

◆ AddOption()

void TGLLegoPainter::AddOption ( const TString stringOption)
overridevirtual

Parse additional options.

Implements TGLPlotPainter.

Definition at line 434 of file TGLLegoPainter.cxx.

◆ ClampZ()

Bool_t TGLLegoPainter::ClampZ ( Double_t zVal) const
private

Clamp z value.

Definition at line 1091 of file TGLLegoPainter.cxx.

◆ Class()

static TClass * TGLLegoPainter::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TGLLegoPainter::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TGLLegoPainter::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 100 of file TGLLegoPainter.h.

◆ DeclFileName()

static const char * TGLLegoPainter::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 100 of file TGLLegoPainter.h.

◆ DeInitGL()

void TGLLegoPainter::DeInitGL ( ) const
overrideprivatevirtual

Return some gl states to original values.

Implements TGLPlotPainter.

Definition at line 481 of file TGLLegoPainter.cxx.

◆ DrawLegoCartesian()

void TGLLegoPainter::DrawLegoCartesian ( ) const
private

Lego in cartesian system.

Definition at line 514 of file TGLLegoPainter.cxx.

◆ DrawLegoCylindrical()

void TGLLegoPainter::DrawLegoCylindrical ( ) const
private

Lego in cylindrical system.

Definition at line 729 of file TGLLegoPainter.cxx.

◆ DrawLegoPolar()

void TGLLegoPainter::DrawLegoPolar ( ) const
private

Lego in polar system.

Definition at line 632 of file TGLLegoPainter.cxx.

◆ DrawLegoSpherical()

void TGLLegoPainter::DrawLegoSpherical ( ) const
private

Lego in spherical system.

Definition at line 837 of file TGLLegoPainter.cxx.

◆ DrawPalette()

void TGLLegoPainter::DrawPalette ( ) const
private

Draw.

Palette. Originally, fCamera was never null. It can be a null now because of gl-viewer.

Definition at line 1135 of file TGLLegoPainter.cxx.

◆ DrawPaletteAxis()

void TGLLegoPainter::DrawPaletteAxis ( ) const
overrideprivatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 1153 of file TGLLegoPainter.cxx.

◆ DrawPlot()

void TGLLegoPainter::DrawPlot ( ) const
overrideprivatevirtual

Select method corresponding to coordinate system.

Implements TGLPlotPainter.

Definition at line 493 of file TGLLegoPainter.cxx.

◆ DrawSectionXOY()

void TGLLegoPainter::DrawSectionXOY ( ) const
overrideprivatevirtual

Empty. No such sections for lego.

Implements TGLPlotPainter.

Definition at line 1063 of file TGLLegoPainter.cxx.

◆ DrawSectionXOZ()

void TGLLegoPainter::DrawSectionXOZ ( ) const
overrideprivatevirtual

XOZ plane parallel section.

Implements TGLPlotPainter.

Definition at line 991 of file TGLLegoPainter.cxx.

◆ DrawSectionYOZ()

void TGLLegoPainter::DrawSectionYOZ ( ) const
overrideprivatevirtual

YOZ plane parallel section.

Implements TGLPlotPainter.

Definition at line 1027 of file TGLLegoPainter.cxx.

◆ GetPlotInfo()

char * TGLLegoPainter::GetPlotInfo ( Int_t  px,
Int_t  py 
)
overridevirtual

Obtain bin's info (i, j, value).

Implements TVirtualGLPainter.

Definition at line 51 of file TGLLegoPainter.cxx.

◆ InitGeometry()

Bool_t TGLLegoPainter::InitGeometry ( )
overridevirtual

Select method.

Implements TGLPlotPainter.

Definition at line 76 of file TGLLegoPainter.cxx.

◆ InitGeometryCartesian()

Bool_t TGLLegoPainter::InitGeometryCartesian ( )
private

Geometry for lego in cartesian coords.

Definition at line 98 of file TGLLegoPainter.cxx.

◆ InitGeometryCylindrical()

Bool_t TGLLegoPainter::InitGeometryCylindrical ( )
private

Geometry for lego in cylindrical coords.

Definition at line 261 of file TGLLegoPainter.cxx.

◆ InitGeometryPolar()

Bool_t TGLLegoPainter::InitGeometryPolar ( )
private

Geometry for lego in polar coords.

Definition at line 201 of file TGLLegoPainter.cxx.

◆ InitGeometrySpherical()

Bool_t TGLLegoPainter::InitGeometrySpherical ( )
private

Geometry for lego in spherical coords.

Definition at line 324 of file TGLLegoPainter.cxx.

◆ InitGL()

void TGLLegoPainter::InitGL ( ) const
overrideprivatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 466 of file TGLLegoPainter.cxx.

◆ IsA()

TClass * TGLLegoPainter::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TVirtualGLPainter.

Definition at line 100 of file TGLLegoPainter.h.

◆ operator=()

TGLLegoPainter & TGLLegoPainter::operator= ( const TGLLegoPainter )
private

◆ Pan()

void TGLLegoPainter::Pan ( Int_t  px,
Int_t  py 
)
overridevirtual

Move lego or section.

Implements TVirtualGLPainter.

Definition at line 393 of file TGLLegoPainter.cxx.

◆ PreparePalette()

Bool_t TGLLegoPainter::PreparePalette ( ) const
private

Initialize color palette.

Definition at line 1114 of file TGLLegoPainter.cxx.

◆ ProcessEvent()

void TGLLegoPainter::ProcessEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
overridevirtual

Remove all sections and repaint.

Implements TGLPlotPainter.

Definition at line 1070 of file TGLLegoPainter.cxx.

◆ SetLegoColor()

void TGLLegoPainter::SetLegoColor ( ) const
private

Set lego's color.

Definition at line 974 of file TGLLegoPainter.cxx.

◆ StartPan()

void TGLLegoPainter::StartPan ( Int_t  px,
Int_t  py 
)
overridevirtual

User clicks on a lego with middle mouse button (middle for pad).

Implements TGLPlotPainter.

Definition at line 382 of file TGLLegoPainter.cxx.

◆ Streamer()

void TGLLegoPainter::Streamer ( TBuffer )
overridevirtual

Reimplemented from TVirtualGLPainter.

◆ StreamerNVirtual()

void TGLLegoPainter::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 100 of file TGLLegoPainter.h.

Member Data Documentation

◆ fBinInfo

TString TGLLegoPainter::fBinInfo
private

Definition at line 50 of file TGLLegoPainter.h.

◆ fColorLevels

std::vector<Double_t> TGLLegoPainter::fColorLevels
mutableprivate

Definition at line 55 of file TGLLegoPainter.h.

◆ fCosSinTableX

std::vector<CosSin_t> TGLLegoPainter::fCosSinTableX
private

Definition at line 48 of file TGLLegoPainter.h.

◆ fCosSinTableY

std::vector<CosSin_t> TGLLegoPainter::fCosSinTableY
private

Definition at line 49 of file TGLLegoPainter.h.

◆ fDrawErrors

Bool_t TGLLegoPainter::fDrawErrors
private

Definition at line 52 of file TGLLegoPainter.h.

◆ fLegoType

ELegoType TGLLegoPainter::fLegoType
mutableprivate

Definition at line 40 of file TGLLegoPainter.h.

◆ fMinMaxVal

Rgl::Range_t TGLLegoPainter::fMinMaxVal
private

Definition at line 42 of file TGLLegoPainter.h.

◆ fMinZ

Double_t TGLLegoPainter::fMinZ
private

Definition at line 41 of file TGLLegoPainter.h.

◆ fPalette

TGLLevelPalette TGLLegoPainter::fPalette
mutableprivate

Definition at line 54 of file TGLLegoPainter.h.

◆ fQuadric

TGLQuadric TGLLegoPainter::fQuadric
mutableprivate

Definition at line 51 of file TGLLegoPainter.h.

◆ fXEdges

std::vector<Rgl::Range_t> TGLLegoPainter::fXEdges
private

Definition at line 44 of file TGLLegoPainter.h.

◆ fYEdges

std::vector<Rgl::Range_t> TGLLegoPainter::fYEdges
private

Definition at line 45 of file TGLLegoPainter.h.

Libraries for TGLLegoPainter:

The documentation for this class was generated from the following files: