Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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.
 
 TGLBoxPainter (TH1 *hist, TPolyMarker3D *pm, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Normal constructor.
 
void AddOption (const TString &stringOption)
 Box1 == spheres.
 
char * GetPlotInfo (Int_t px, Int_t py)
 Show box info (i, j, k, binContent).
 
Bool_t InitGeometry ()
 Set ranges, find min and max bin content.
 
void Pan (Int_t px, Int_t py)
 User's moving mouse cursor, with middle mouse button pressed (for pad).
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 Remove sections.
 
void StartPan (Int_t px, Int_t py)
 User clicks right mouse button (in a pad).
 
- 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.
 
virtual void Paint ()
 Draw lego/surf/whatever you can.
 
virtual Bool_t PlotSelected (Int_t px, Int_t py)
 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)
 
- Public Member Functions inherited from TVirtualGLPainter
virtual ~TVirtualGLPainter ()
 

Private Types

enum  EBoxType { kBox , kBox1 }
 

Private Member Functions

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

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

◆ TGLBoxPainter() [3/3]

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

Normal constructor.

Definition at line 53 of file TGLBoxPainter.cxx.

Member Function Documentation

◆ AddOption()

void TGLBoxPainter::AddOption ( const TString stringOption)
virtual

Box1 == spheres.

Implements TGLPlotPainter.

Definition at line 205 of file TGLBoxPainter.cxx.

◆ DeInitGL()

void TGLBoxPainter::DeInitGL ( ) const
privatevirtual

Return back some gl state variables.

Implements TGLPlotPainter.

Definition at line 260 of file TGLBoxPainter.cxx.

◆ DrawCloud()

void TGLBoxPainter::DrawCloud ( ) const
private

Draw a frame and a polymarker inside.

Definition at line 510 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 600 of file TGLBoxPainter.cxx.

◆ DrawPaletteAxis()

void TGLBoxPainter::DrawPaletteAxis ( ) const
privatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 632 of file TGLBoxPainter.cxx.

◆ DrawPlot()

void TGLBoxPainter::DrawPlot ( ) const
privatevirtual

Implements TGLPlotPainter.

Definition at line 359 of file TGLBoxPainter.cxx.

◆ DrawSectionXOY()

void TGLBoxPainter::DrawSectionXOY ( ) const
privatevirtual

Draw XOY parallel section.

Implements TGLPlotPainter.

Definition at line 579 of file TGLBoxPainter.cxx.

◆ DrawSectionXOZ()

void TGLBoxPainter::DrawSectionXOZ ( ) const
privatevirtual

Draw XOZ parallel section.

Implements TGLPlotPainter.

Definition at line 559 of file TGLBoxPainter.cxx.

◆ DrawSectionYOZ()

void TGLBoxPainter::DrawSectionYOZ ( ) const
privatevirtual

Draw YOZ parallel section.

Implements TGLPlotPainter.

Definition at line 569 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 67 of file TGLBoxPainter.cxx.

◆ HasSections()

Bool_t TGLBoxPainter::HasSections ( ) const
private

Check, if any section exists.

Definition at line 589 of file TGLBoxPainter.cxx.

◆ InitGeometry()

Bool_t TGLBoxPainter::InitGeometry ( )
virtual

Set ranges, find min and max bin content.

Implements TGLPlotPainter.

Definition at line 95 of file TGLBoxPainter.cxx.

◆ InitGL()

void TGLBoxPainter::InitGL ( ) const
privatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 245 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 162 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 220 of file TGLBoxPainter.cxx.

◆ SetPlotColor()

void TGLBoxPainter::SetPlotColor ( ) const
private

Set boxes color.

Definition at line 536 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 150 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:

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