ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TGLLegoPainter Class Reference

Plot-painter implementing LEGO rendering of TH2 histograms in cartesian, polar, cylindrical and spherical coordinates.

Definition at line 36 of file TGLLegoPainter.h.

Public Member Functions

 TGLLegoPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 
char * GetPlotInfo (Int_t px, Int_t py)
 Obtain bin's info (i, j, value). More...
 
Bool_t InitGeometry ()
 Select method. More...
 
void StartPan (Int_t px, Int_t py)
 User clicks on a lego with middle mouse button (middle for pad). More...
 
void Pan (Int_t px, Int_t py)
 Move lego or section. More...
 
void AddOption (const TString &stringOption)
 Parse additional options. More...
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 Remove all sections and repaint. More...
 
- Public Member Functions inherited from TGLPlotPainter
 TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable)
 
 TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 TGLPlotPainter's ctor. More...
 
 TGLPlotPainter (TGLPlotCamera *camera)
 TGLPlotPainter's ctor. More...
 
const TGLPlotBoxRefBackBox () const
 
void SetPhysicalShapeColor (const Float_t *rgba)
 
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...
 
void SetPadColor (const TColor *color)
 Used in a pad. More...
 
virtual void SetFrameColor (const TColor *frameColor)
 Set plot's back box color. More...
 
void InvalidateSelection ()
 Selection must be updated. More...
 
Bool_t CutAxisSelected () const
 
void SetDrawFrontBox (Bool_t b)
 
void SetDrawBackBox (Bool_t b)
 
void SetDrawAxes (Bool_t s)
 
Bool_t GetDrawAxes ()
 
- Public Member Functions inherited from TVirtualGLPainter
virtual ~TVirtualGLPainter ()
 
 ClassDef (TVirtualGLPainter, 0)
 

Private Types

enum  ELegoType { kColorSimple, kColorLevel, kCylindricBars }
 
typedef std::pair< Double_t,
Double_t
CosSin_t
 

Private Member Functions

 TGLLegoPainter (const TGLLegoPainter &)
 
TGLLegoPainteroperator= (const TGLLegoPainter &)
 
Bool_t InitGeometryCartesian ()
 Geometry for lego in cartesian coords. More...
 
Bool_t InitGeometryPolar ()
 Geometry for lego in polar coords. More...
 
Bool_t InitGeometryCylindrical ()
 Geometry for lego in cylindrical coords. More...
 
Bool_t InitGeometrySpherical ()
 Geometry for lego in spherical coords. More...
 
void InitGL () const
 Initialize some gl state variables. More...
 
void DeInitGL () const
 Return some gl states to original values. More...
 
void DrawPlot () const
 Select method corresponding to coordinate system. More...
 
void DrawLegoCartesian () const
 Lego in cartesian system. More...
 
void DrawLegoPolar () const
 Lego in polar system. More...
 
void DrawLegoCylindrical () const
 Lego in cylindrical system. More...
 
void DrawLegoSpherical () const
 Lego in spherical system. More...
 
void SetLegoColor () const
 Set lego's color. More...
 
void DrawSectionXOZ () const
 XOZ plane parallel section. More...
 
void DrawSectionYOZ () const
 YOZ plane parallel section. More...
 
void DrawSectionXOY () const
 Empty. No such sections for lego. More...
 
Bool_t ClampZ (Double_t &zVal) const
 Clamp z value. More...
 
Bool_t PreparePalette () const
 Initialize color palette. More...
 
void DrawPalette () const
 Draw. More...
 
void DrawPaletteAxis () const
 Draw. Palette. Axis. More...
 

Private Attributes

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

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
const TColorGetPadColor () const
 Get pad color. More...
 
void MoveSection (Int_t px, Int_t py)
 Create dynamic profile using selected plane. More...
 
void DrawSections () const
 Draw sections (if any). More...
 
virtual void ClearBuffers () const
 
void PrintPlot () const
 Generate PS using gl2ps. More...
 
void SaveModelviewMatrix () const
 
void SaveProjectionMatrix () const
 
void RestoreModelviewMatrix () const
 
void RestoreProjectionMatrix () const
 
- Protected Attributes inherited from TGLPlotPainter
const Float_tfPhysicalShapeColor
 
Double_t fPadPhi
 
Double_t fPadTheta
 
TH1fHist
 
TAxisfXAxis
 
TAxisfYAxis
 
TAxisfZAxis
 
TGLPlotCoordinatesfCoord
 
TGLPlotCamerafCamera
 
TGLSelectionBuffer fSelection
 
Bool_t fUpdateSelection
 
Bool_t fSelectionPass
 
Int_t fSelectedPart
 
TPoint fMousePosition
 
Double_t fXOZSectionPos
 
Double_t fYOZSectionPos
 
Double_t fXOYSectionPos
 
TGLPlotBox fBackBox
 
TGLBoxCut fBoxCut
 
std::vector< Double_tfZLevels
 
Bool_t fHighColor
 
Int_t fSelectionBase
 
Bool_t fDrawPalette
 
Bool_t fDrawAxes
 

#include <TGLLegoPainter.h>

Inheritance diagram for TGLLegoPainter:
[legend]

Member Typedef Documentation

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

Definition at line 52 of file TGLLegoPainter.h.

Member Enumeration Documentation

Enumerator
kColorSimple 
kColorLevel 
kCylindricBars 

Definition at line 39 of file TGLLegoPainter.h.

Constructor & Destructor Documentation

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

Member Function Documentation

void TGLLegoPainter::AddOption ( const TString stringOption)
virtual

Parse additional options.

Implements TGLPlotPainter.

Definition at line 435 of file TGLLegoPainter.cxx.

Bool_t TGLLegoPainter::ClampZ ( Double_t zVal) const
private
void TGLLegoPainter::DeInitGL ( ) const
privatevirtual

Return some gl states to original values.

Implements TGLPlotPainter.

Definition at line 483 of file TGLLegoPainter.cxx.

void TGLLegoPainter::DrawLegoCartesian ( ) const
private

Lego in cartesian system.

Definition at line 516 of file TGLLegoPainter.cxx.

Referenced by DrawPlot().

void TGLLegoPainter::DrawLegoCylindrical ( ) const
private

Lego in cylindrical system.

Definition at line 731 of file TGLLegoPainter.cxx.

Referenced by DrawPlot().

void TGLLegoPainter::DrawLegoPolar ( ) const
private

Lego in polar system.

Definition at line 634 of file TGLLegoPainter.cxx.

Referenced by DrawPlot().

void TGLLegoPainter::DrawLegoSpherical ( ) const
private

Lego in spherical system.

Definition at line 839 of file TGLLegoPainter.cxx.

Referenced by DrawPlot().

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 1137 of file TGLLegoPainter.cxx.

Referenced by DrawLegoCartesian(), DrawLegoCylindrical(), DrawLegoPolar(), and DrawLegoSpherical().

void TGLLegoPainter::DrawPaletteAxis ( ) const
privatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 1155 of file TGLLegoPainter.cxx.

void TGLLegoPainter::DrawPlot ( ) const
privatevirtual

Select method corresponding to coordinate system.

Implements TGLPlotPainter.

Definition at line 495 of file TGLLegoPainter.cxx.

void TGLLegoPainter::DrawSectionXOY ( ) const
privatevirtual

Empty. No such sections for lego.

Implements TGLPlotPainter.

Definition at line 1065 of file TGLLegoPainter.cxx.

void TGLLegoPainter::DrawSectionXOZ ( ) const
privatevirtual

XOZ plane parallel section.

Implements TGLPlotPainter.

Definition at line 993 of file TGLLegoPainter.cxx.

void TGLLegoPainter::DrawSectionYOZ ( ) const
privatevirtual

YOZ plane parallel section.

Implements TGLPlotPainter.

Definition at line 1029 of file TGLLegoPainter.cxx.

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

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

Implements TVirtualGLPainter.

Definition at line 52 of file TGLLegoPainter.cxx.

Bool_t TGLLegoPainter::InitGeometry ( )
virtual

Select method.

Implements TGLPlotPainter.

Definition at line 77 of file TGLLegoPainter.cxx.

Bool_t TGLLegoPainter::InitGeometryCartesian ( )
private

Geometry for lego in cartesian coords.

Definition at line 99 of file TGLLegoPainter.cxx.

Referenced by InitGeometry().

Bool_t TGLLegoPainter::InitGeometryCylindrical ( )
private

Geometry for lego in cylindrical coords.

Definition at line 262 of file TGLLegoPainter.cxx.

Referenced by InitGeometry().

Bool_t TGLLegoPainter::InitGeometryPolar ( )
private

Geometry for lego in polar coords.

Definition at line 202 of file TGLLegoPainter.cxx.

Referenced by InitGeometry().

Bool_t TGLLegoPainter::InitGeometrySpherical ( )
private

Geometry for lego in spherical coords.

Definition at line 325 of file TGLLegoPainter.cxx.

Referenced by InitGeometry().

void TGLLegoPainter::InitGL ( ) const
privatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 468 of file TGLLegoPainter.cxx.

TGLLegoPainter& TGLLegoPainter::operator= ( const TGLLegoPainter )
private
void TGLLegoPainter::Pan ( Int_t  px,
Int_t  py 
)
virtual

Move lego or section.

Implements TVirtualGLPainter.

Definition at line 394 of file TGLLegoPainter.cxx.

Bool_t TGLLegoPainter::PreparePalette ( ) const
private

Initialize color palette.

Definition at line 1116 of file TGLLegoPainter.cxx.

Referenced by DrawLegoCartesian(), DrawLegoCylindrical(), DrawLegoPolar(), and DrawLegoSpherical().

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

Remove all sections and repaint.

Implements TGLPlotPainter.

Definition at line 1072 of file TGLLegoPainter.cxx.

void TGLLegoPainter::SetLegoColor ( ) const
private

Set lego's color.

Definition at line 976 of file TGLLegoPainter.cxx.

Referenced by DrawLegoCartesian(), DrawLegoCylindrical(), DrawLegoPolar(), and DrawLegoSpherical().

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

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

Implements TGLPlotPainter.

Definition at line 383 of file TGLLegoPainter.cxx.

Member Data Documentation

TString TGLLegoPainter::fBinInfo
private

Definition at line 55 of file TGLLegoPainter.h.

Referenced by GetPlotInfo().

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

Definition at line 60 of file TGLLegoPainter.h.

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

Definition at line 54 of file TGLLegoPainter.h.

Referenced by DrawLegoSpherical(), and InitGeometrySpherical().

Bool_t TGLLegoPainter::fDrawErrors
private

Definition at line 57 of file TGLLegoPainter.h.

Referenced by AddOption(), DrawLegoCartesian(), and InitGeometryCartesian().

ELegoType TGLLegoPainter::fLegoType
mutableprivate
Rgl::Range_t TGLLegoPainter::fMinMaxVal
private
Double_t TGLLegoPainter::fMinZ
private
TGLLevelPalette TGLLegoPainter::fPalette
mutableprivate
TGLQuadric TGLLegoPainter::fQuadric
mutableprivate

Definition at line 56 of file TGLLegoPainter.h.

Referenced by DrawLegoCartesian().

std::vector<Rgl::Range_t> TGLLegoPainter::fXEdges
private
std::vector<Rgl::Range_t> TGLLegoPainter::fYEdges
private
Collaboration diagram for TGLLegoPainter:
[legend]

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