ROOT  6.06/09
Reference Guide
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TGLBoxPainter Class Reference

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

Definition at line 40 of file TGLBoxPainter.h.

Public Member Functions

 TGLBoxPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 
 TGLBoxPainter (TH1 *hist, TPolyMarker3D *pm, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Normal constructor. 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 StartPan (Int_t px, Int_t py)
 User clicks right mouse button (in a pad). More...
 
void Pan (Int_t px, Int_t py)
 User's moving mouse cursor, with middle mouse button pressed (for pad). More...
 
void AddOption (const TString &stringOption)
 Box1 == spheres. More...
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 Remove sections. 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  EBoxType { kBox, kBox1 }
 

Private Member Functions

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

Private Attributes

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

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 <TGLBoxPainter.h>

+ Inheritance diagram for TGLBoxPainter:
+ Collaboration diagram for TGLBoxPainter:

Member Enumeration Documentation

Enumerator
kBox 
kBox1 

Definition at line 46 of file TGLBoxPainter.h.

Constructor & Destructor Documentation

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

Normal constructor.

Definition at line 54 of file TGLBoxPainter.cxx.

Member Function Documentation

void TGLBoxPainter::AddOption ( const TString stringOption)
virtual

Box1 == spheres.

Implements TGLPlotPainter.

Definition at line 206 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DeInitGL ( ) const
privatevirtual

Return back some gl state variables.

Implements TGLPlotPainter.

Definition at line 261 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DrawCloud ( ) const
private

Draw a frame and a polymarker inside.

Definition at line 500 of file TGLBoxPainter.cxx.

Referenced by DrawPlot().

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 590 of file TGLBoxPainter.cxx.

Referenced by DrawPlot().

void TGLBoxPainter::DrawPaletteAxis ( ) const
privatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 622 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DrawPlot ( ) const
privatevirtual

Implements TGLPlotPainter.

Definition at line 360 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DrawSectionXOY ( ) const
privatevirtual

Draw XOY parallel section.

Implements TGLPlotPainter.

Definition at line 569 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DrawSectionXOZ ( ) const
privatevirtual

Draw XOZ parallel section.

Implements TGLPlotPainter.

Definition at line 549 of file TGLBoxPainter.cxx.

void TGLBoxPainter::DrawSectionYOZ ( ) const
privatevirtual

Draw YOZ parallel section.

Implements TGLPlotPainter.

Definition at line 559 of file TGLBoxPainter.cxx.

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

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

Implements TVirtualGLPainter.

Definition at line 68 of file TGLBoxPainter.cxx.

Bool_t TGLBoxPainter::HasSections ( ) const
private

Check, if any section exists.

Definition at line 579 of file TGLBoxPainter.cxx.

Referenced by DrawPaletteAxis(), DrawPlot(), and ProcessEvent().

Bool_t TGLBoxPainter::InitGeometry ( )
virtual

Set ranges, find min and max bin content.

Implements TGLPlotPainter.

Definition at line 96 of file TGLBoxPainter.cxx.

void TGLBoxPainter::InitGL ( ) const
privatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 246 of file TGLBoxPainter.cxx.

TGLBoxPainter& TGLBoxPainter::operator= ( const TGLBoxPainter )
private
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 163 of file TGLBoxPainter.cxx.

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

Remove sections.

Implements TGLPlotPainter.

Definition at line 221 of file TGLBoxPainter.cxx.

void TGLBoxPainter::SetPlotColor ( ) const
private

Set boxes color.

Definition at line 526 of file TGLBoxPainter.cxx.

Referenced by DrawPlot().

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

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 151 of file TGLBoxPainter.cxx.

Member Data Documentation

Rgl::Range_t TGLBoxPainter::fMinMaxVal
private

Definition at line 54 of file TGLBoxPainter.h.

Referenced by DrawPaletteAxis(), DrawPlot(), and InitGeometry().

TString TGLBoxPainter::fPlotInfo
private

Definition at line 53 of file TGLBoxPainter.h.

Referenced by GetPlotInfo().

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

Definition at line 59 of file TGLBoxPainter.h.

Referenced by DrawCloud(), and InitGeometry().

const TPolyMarker3D* TGLBoxPainter::fPolymarker
private

Definition at line 58 of file TGLBoxPainter.h.

Referenced by DrawCloud(), DrawPlot(), and InitGeometry().

TGLQuadric TGLBoxPainter::fQuadric
mutableprivate

Definition at line 56 of file TGLBoxPainter.h.

Referenced by DrawPlot().

EBoxType TGLBoxPainter::fType
mutableprivate

Definition at line 51 of file TGLBoxPainter.h.

Referenced by AddOption(), and DrawPlot().

TGLTH3Slice TGLBoxPainter::fXOYSlice
private

Definition at line 44 of file TGLBoxPainter.h.

Referenced by DrawPalette(), DrawSectionXOY(), and InitGeometry().

TGLTH3Slice TGLBoxPainter::fXOZSlice
private

Definition at line 42 of file TGLBoxPainter.h.

Referenced by DrawPalette(), DrawSectionXOZ(), and InitGeometry().

TGLTH3Slice TGLBoxPainter::fYOZSlice
private

Definition at line 43 of file TGLBoxPainter.h.

Referenced by DrawPalette(), DrawSectionYOZ(), and InitGeometry().


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