Logo ROOT   6.16/01
Reference Guide
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TGLVoxelPainter Class Reference

Paint TH3 histograms as "voxels" - colored boxes, transparent if transfer function was specified.

Definition at line 16 of file TGLVoxelPainter.h.

Public Member Functions

 TGLVoxelPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Constructor. More...
 
void AddOption (const TString &stringOption)
 "z" draw palette or not. 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, switch on/off box cut. 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 Member Functions

 TGLVoxelPainter (const TGLVoxelPainter &)
 
void DeInitGL () const
 Return back some gl state variables. More...
 
void DrawPalette () const
 Draw. Palette. More...
 
void DrawPaletteAxis () const
 Draw. Palette. Axis. More...
 
void DrawPlot () const
 Draw "voxels". More...
 
void DrawSectionXOY () const
 Noop. More...
 
void DrawSectionXOZ () const
 Noop. More...
 
void DrawSectionYOZ () const
 Noop. More...
 
void FindVoxelColor (Double_t binContent, Float_t *rgba) const
 Find box color. More...
 
Bool_t HasSections () const
 
void InitGL () const
 Initialize some gl state variables. More...
 
TGLVoxelPainteroperator= (const TGLVoxelPainter &)
 
void PreparePalette () const
 Generate palette. More...
 
void SetVoxelColor (const Float_t *rgba) const
 Set box color. More...
 

Private Attributes

std::vector< Double_tfLevels
 
Rgl::Range_t fMinMaxVal
 
TGLLevelPalette fPalette
 
TString fPlotInfo
 
TF1fTransferFunc
 

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

Inheritance diagram for TGLVoxelPainter:
[legend]

Constructor & Destructor Documentation

◆ TGLVoxelPainter() [1/2]

TGLVoxelPainter::TGLVoxelPainter ( const TGLVoxelPainter )
private

◆ TGLVoxelPainter() [2/2]

TGLVoxelPainter::TGLVoxelPainter ( TH1 hist,
TGLPlotCamera cam,
TGLPlotCoordinates coord 
)

Constructor.

This plot always needs a palette.

Definition at line 29 of file TGLVoxelPainter.cxx.

Member Function Documentation

◆ AddOption()

void TGLVoxelPainter::AddOption ( const TString stringOption)
virtual

"z" draw palette or not.

Implements TGLPlotPainter.

Definition at line 170 of file TGLVoxelPainter.cxx.

◆ DeInitGL()

void TGLVoxelPainter::DeInitGL ( ) const
privatevirtual

Return back some gl state variables.

Implements TGLPlotPainter.

Definition at line 216 of file TGLVoxelPainter.cxx.

◆ DrawPalette()

void TGLVoxelPainter::DrawPalette ( ) const
private

Draw. Palette.

Definition at line 347 of file TGLVoxelPainter.cxx.

◆ DrawPaletteAxis()

void TGLVoxelPainter::DrawPaletteAxis ( ) const
privatevirtual

Draw. Palette. Axis.

Reimplemented from TGLPlotPainter.

Definition at line 366 of file TGLVoxelPainter.cxx.

◆ DrawPlot()

void TGLVoxelPainter::DrawPlot ( ) const
privatevirtual

Draw "voxels".

Implements TGLPlotPainter.

Definition at line 228 of file TGLVoxelPainter.cxx.

◆ DrawSectionXOY()

void TGLVoxelPainter::DrawSectionXOY ( ) const
privatevirtual

Noop.

Implements TGLPlotPainter.

Definition at line 340 of file TGLVoxelPainter.cxx.

◆ DrawSectionXOZ()

void TGLVoxelPainter::DrawSectionXOZ ( ) const
privatevirtual

Noop.

Implements TGLPlotPainter.

Definition at line 325 of file TGLVoxelPainter.cxx.

◆ DrawSectionYOZ()

void TGLVoxelPainter::DrawSectionYOZ ( ) const
privatevirtual

Noop.

Implements TGLPlotPainter.

Definition at line 332 of file TGLVoxelPainter.cxx.

◆ FindVoxelColor()

void TGLVoxelPainter::FindVoxelColor ( Double_t  binContent,
Float_t rgba 
) const
private

Find box color.

Definition at line 418 of file TGLVoxelPainter.cxx.

◆ GetPlotInfo()

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

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

Implements TVirtualGLPainter.

Definition at line 40 of file TGLVoxelPainter.cxx.

◆ HasSections()

Bool_t TGLVoxelPainter::HasSections ( ) const
private

◆ InitGeometry()

Bool_t TGLVoxelPainter::InitGeometry ( )
virtual

Set ranges, find min and max bin content.

Implements TGLPlotPainter.

Definition at line 69 of file TGLVoxelPainter.cxx.

◆ InitGL()

void TGLVoxelPainter::InitGL ( ) const
privatevirtual

Initialize some gl state variables.

Implements TGLPlotPainter.

Definition at line 201 of file TGLVoxelPainter.cxx.

◆ operator=()

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

◆ Pan()

void TGLVoxelPainter::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 124 of file TGLVoxelPainter.cxx.

◆ PreparePalette()

void TGLVoxelPainter::PreparePalette ( ) const
private

Generate palette.

Definition at line 377 of file TGLVoxelPainter.cxx.

◆ ProcessEvent()

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

Remove sections, switch on/off box cut.

Implements TGLPlotPainter.

Definition at line 179 of file TGLVoxelPainter.cxx.

◆ SetVoxelColor()

void TGLVoxelPainter::SetVoxelColor ( const Float_t rgba) const
private

Set box color.

Definition at line 437 of file TGLVoxelPainter.cxx.

◆ StartPan()

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

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 111 of file TGLVoxelPainter.cxx.

Member Data Documentation

◆ fLevels

std::vector<Double_t> TGLVoxelPainter::fLevels
mutableprivate

Definition at line 26 of file TGLVoxelPainter.h.

◆ fMinMaxVal

Rgl::Range_t TGLVoxelPainter::fMinMaxVal
private

Definition at line 20 of file TGLVoxelPainter.h.

◆ fPalette

TGLLevelPalette TGLVoxelPainter::fPalette
mutableprivate

Definition at line 25 of file TGLVoxelPainter.h.

◆ fPlotInfo

TString TGLVoxelPainter::fPlotInfo
private

Definition at line 19 of file TGLVoxelPainter.h.

◆ fTransferFunc

TF1* TGLVoxelPainter::fTransferFunc
private

Definition at line 60 of file TGLVoxelPainter.h.

Libraries for TGLVoxelPainter:
[legend]

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