Logo ROOT  
Reference Guide
TGLBoxPainter Class Reference

Paints TH3 histograms by rendering variable-sized boxes matching the bin contents.

Definition at line 32 of file TGLBoxPainter.h.

Public Member Functions

 TGLBoxPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Normal constructor. More...
 
 TGLBoxPainter (TH1 *hist, TPolyMarker3D *pm, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Normal constructor. More...
 
void AddOption (const TString &stringOption)
 Box1 == spheres. More...
 
char * GetPlotInfo (Int_t px, Int_t py)
 Show box info (i, j, k, binContent). More...
 
Bool_t InitGeometry ()
 Set ranges, find min and max bin content. More...
 
void Pan (Int_t px, Int_t py)
 User's moving mouse cursor, with middle mouse button pressed (for pad). More...
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 Remove sections. More...
 
void StartPan (Int_t px, Int_t py)
 User clicks right mouse button (in a 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 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. 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

enum  EBoxType { kBox , kBox1 }
 

Private Member Functions

 TGLBoxPainter (const TGLBoxPainter &)
 
void DeInitGL () const
 Return back some gl state variables. More...
 
void DrawCloud () const
 Draw a frame and a polymarker inside. More...
 
void DrawPalette () const
 Draw. More...
 
void DrawPaletteAxis () const
 Draw. Palette. Axis. More...
 
void DrawPlot () const
 
void DrawSectionXOY () const
 Draw XOY parallel section. More...
 
void DrawSectionXOZ () const
 Draw XOZ parallel section. More...
 
void DrawSectionYOZ () const
 Draw YOZ parallel section. More...
 
Bool_t HasSections () const
 Check, if any section exists. More...
 
void InitGL () const
 Initialize some gl state variables. More...
 
TGLBoxPainteroperator= (const TGLBoxPainter &)
 
void SetPlotColor () const
 Set boxes color. More...
 

Private Attributes

Rgl::Range_t fMinMaxVal
 
TString fPlotInfo
 
std::vector< Double_tfPMPoints
 
const TPolyMarker3DfPolymarker
 
TGLQuadric fQuadric
 
EBoxType fType
 
TGLTH3Slice fXOYSlice
 
TGLTH3Slice fXOZSlice
 
TGLTH3Slice fYOZSlice
 

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
 
virtual void DrawPaletteAxis () const
 Draw. Palette. Axis. More...
 
void DrawSections () const
 Draw sections (if any). More...
 
virtual void DrawSectionXOY () const =0
 
virtual void DrawSectionXOZ () const =0
 
virtual void DrawSectionYOZ () const =0
 
const TColorGetPadColor () const
 Get pad color. More...
 
void MoveSection (Int_t px, Int_t py)
 Create dynamic profile using selected plane. More...
 
void PrintPlot () const
 Generate PS using gl2ps. More...
 
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 <TGLBoxPainter.h>

Inheritance diagram for TGLBoxPainter:
[legend]

Member Enumeration Documentation

◆ EBoxType

Enumerator
kBox 
kBox1 

Definition at line 38 of file TGLBoxPainter.h.

Constructor & Destructor Documentation

◆ TGLBoxPainter() [1/3]

TGLBoxPainter::TGLBoxPainter ( const TGLBoxPainter )
private

◆ TGLBoxPainter() [2/3]

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

Normal constructor.

Definition at line 41 of file TGLBoxPainter.cxx.

◆ TGLBoxPainter() [3/3]

TGLBoxPainter::TGLBoxPainter ( TH1 hist,
TPolyMarker3D pm,
TGLPlotCamera camera,
TGLPlotCoordinates coord 
)

Normal constructor.

Definition at line 55 of file TGLBoxPainter.cxx.

Member Function Documentation

◆ AddOption()

void TGLBoxPainter::AddOption ( const TString stringOption)
virtual

Box1 == spheres.

Implements TGLPlotPainter.

Definition at line 207 of file TGLBoxPainter.cxx.

◆ DeInitGL()

void TGLBoxPainter::DeInitGL ( ) const
privatevirtual

Return back some gl state variables.

Implements TGLPlotPainter.

Definition at line 262 of file TGLBoxPainter.cxx.

◆ DrawCloud()

void TGLBoxPainter::DrawCloud ( ) const
private

Draw a frame and a polymarker inside.

Definition at line 502 of file TGLBoxPainter.cxx.

◆ DrawPalette()

void TGLBoxPainter::DrawPalette ( ) const
private

Draw.

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

Definition at line 592 of file TGLBoxPainter.cxx.

◆ DrawPaletteAxis()

void TGLBoxPainter::DrawPaletteAxis ( ) const
privatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 624 of file TGLBoxPainter.cxx.

◆ DrawPlot()

void TGLBoxPainter::DrawPlot ( ) const
privatevirtual

Implements TGLPlotPainter.

Definition at line 361 of file TGLBoxPainter.cxx.

◆ DrawSectionXOY()

void TGLBoxPainter::DrawSectionXOY ( ) const
privatevirtual

Draw XOY parallel section.

Implements TGLPlotPainter.

Definition at line 571 of file TGLBoxPainter.cxx.

◆ DrawSectionXOZ()

void TGLBoxPainter::DrawSectionXOZ ( ) const
privatevirtual

Draw XOZ parallel section.

Implements TGLPlotPainter.

Definition at line 551 of file TGLBoxPainter.cxx.

◆ DrawSectionYOZ()

void TGLBoxPainter::DrawSectionYOZ ( ) const
privatevirtual

Draw YOZ parallel section.

Implements TGLPlotPainter.

Definition at line 561 of file TGLBoxPainter.cxx.

◆ GetPlotInfo()

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

Show box info (i, j, k, binContent).

Implements TVirtualGLPainter.

Definition at line 69 of file TGLBoxPainter.cxx.

◆ HasSections()

Bool_t TGLBoxPainter::HasSections ( ) const
private

Check, if any section exists.

Definition at line 581 of file TGLBoxPainter.cxx.

◆ InitGeometry()

Bool_t TGLBoxPainter::InitGeometry ( )
virtual

Set ranges, find min and max bin content.

Implements TGLPlotPainter.

Definition at line 97 of file TGLBoxPainter.cxx.

◆ InitGL()

void TGLBoxPainter::InitGL ( ) const
privatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 247 of file TGLBoxPainter.cxx.

◆ operator=()

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

◆ Pan()

void TGLBoxPainter::Pan ( Int_t  px,
Int_t  py 
)
virtual

User's moving mouse cursor, with middle mouse button pressed (for pad).

Calculate 3d shift related to 2d mouse movement.

Implements TVirtualGLPainter.

Definition at line 164 of file TGLBoxPainter.cxx.

◆ ProcessEvent()

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

Remove sections.

Implements TGLPlotPainter.

Definition at line 222 of file TGLBoxPainter.cxx.

◆ SetPlotColor()

void TGLBoxPainter::SetPlotColor ( ) const
private

Set boxes color.

Definition at line 528 of file TGLBoxPainter.cxx.

◆ StartPan()

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

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 152 of file TGLBoxPainter.cxx.

Member Data Documentation

◆ fMinMaxVal

Rgl::Range_t TGLBoxPainter::fMinMaxVal
private

Definition at line 46 of file TGLBoxPainter.h.

◆ fPlotInfo

TString TGLBoxPainter::fPlotInfo
private

Definition at line 45 of file TGLBoxPainter.h.

◆ fPMPoints

std::vector<Double_t> TGLBoxPainter::fPMPoints
private

Definition at line 51 of file TGLBoxPainter.h.

◆ fPolymarker

const TPolyMarker3D* TGLBoxPainter::fPolymarker
private

Definition at line 50 of file TGLBoxPainter.h.

◆ fQuadric

TGLQuadric TGLBoxPainter::fQuadric
mutableprivate

Definition at line 48 of file TGLBoxPainter.h.

◆ fType

EBoxType TGLBoxPainter::fType
mutableprivate

Definition at line 43 of file TGLBoxPainter.h.

◆ fXOYSlice

TGLTH3Slice TGLBoxPainter::fXOYSlice
private

Definition at line 36 of file TGLBoxPainter.h.

◆ fXOZSlice

TGLTH3Slice TGLBoxPainter::fXOZSlice
private

Definition at line 34 of file TGLBoxPainter.h.

◆ fYOZSlice

TGLTH3Slice TGLBoxPainter::fYOZSlice
private

Definition at line 35 of file TGLBoxPainter.h.

Libraries for TGLBoxPainter:
[legend]

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