Logo ROOT   6.14/05
Reference Guide
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TGL5DPainter Class Reference

TGL5DPainter implements "gl5d" option for TTree::Draw.

Data (4D) is visualized as a set of iso-surfaces. 5D.

Definition at line 32 of file TGL5DPainter.h.

Classes

struct  Surf_t
 

Public Types

typedef SurfList_t::const_iterator ConstSurfIter_t
 
enum  EDefaults { kNContours = 4, kNLowPts = 50 }
 
typedef Rgl::Mc::TIsoMesh< Float_tMesh_t
 
typedef SurfList_t::iterator SurfIter_t
 
typedef std::list< Surf_tSurfList_t
 
- Public Types inherited from TGLPlotPainter
enum  ECutAxisID { kXAxis = 7, kYAxis = 8, kZAxis = 9 }
 

Public Member Functions

 TGL5DPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 Constructor. More...
 
void AddOption (const TString &option)
 No additional options for TGL5DPainter. More...
 
SurfIter_t AddSurface (Double_t v4, Color_t ci, Double_t isoVal=1., Double_t sigma=1., Double_t range=1e-3, Int_t lowNumOfPoints=kNLowPts)
 Try to add new iso-surface. More...
 
void AddSurface (Double_t v4)
 Add new surface. Simplified version for ged. More...
 
Double_t GetAlpha () const
 
Int_t GetNContours () const
 
char * GetPlotInfo (Int_t px, Int_t py)
 Return info for plot part under cursor. More...
 
Bool_t InitGeometry ()
 Create mesh. More...
 
Bool_t IsBoxCutShown () const
 
void Pan (Int_t px, Int_t py)
 Mouse events handler. More...
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 
void RemoveSurface (SurfIter_t surf)
 Remove iso-surface. More...
 
void ResetGeometryRanges ()
 No need to create or delete meshes, number of meshes (iso-levels) are the same, but meshes must be rebuilt in new ranges. More...
 
void SetAlpha (Double_t newAlpha)
 Set selection range parameter. More...
 
void SetNContours (Int_t num)
 Set the number of predefined contours. More...
 
void ShowBoxCut (Bool_t show)
 
void StartPan (Int_t px, Int_t py)
 User clicks right mouse button (in a pad). More...
 
SurfIter_t SurfacesBegin ()
 std::list::begin. More...
 
SurfIter_t SurfacesEnd ()
 std::list::end. More...
 
- Public Member Functions inherited from TGLPlotPainter
 TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable)
 TGLPlotPainter's ctor. More...
 
 TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 TGLPlotPainter's ctor. More...
 
 TGLPlotPainter (TGLPlotCamera *camera)
 TGLPlotPainter's ctor. More...
 
Bool_t CutAxisSelected () const
 
Bool_t GetDrawAxes ()
 
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...
 
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)
 
- Public Member Functions inherited from TVirtualGLPainter
virtual ~TVirtualGLPainter ()
 

Private Types

typedef std::vector< Double_t >::size_type size_type
 

Private Member Functions

 TGL5DPainter (const TGL5DPainter &)
 
void DeInitGL () const
 Return some gl states to original values. More...
 
void DrawCloud () const
 Draw full cloud of points. More...
 
void DrawMesh (ConstSurfIter_t surf) const
 Draw one iso-surface. More...
 
void DrawPlot () const
 Draw a set of meshes. More...
 
void DrawSectionXOY () const
 
void DrawSectionXOZ () const
 
void DrawSectionYOZ () const
 
void DrawSubCloud (Double_t v4, Double_t range, Color_t ci) const
 Draw cloud for selected iso-surface. More...
 
void InitGL () const
 Initialize OpenGL state variables. More...
 
TGL5DPainteroperator= (const TGL5DPainter &)
 
void SetSurfaceColor (ConstSurfIter_t surf) const
 Set the color for iso-surface. More...
 

Private Attributes

Double_t fAlpha
 
TGL5DDataSetfData
 
const Surf_t fDummy
 
Bool_t fInit
 
SurfList_t fIsos
 
TKDEFGT fKDE
 
Rgl::Mc::TMeshBuilder< TKDEFGT, Float_tfMeshBuilder
 
Int_t fNContours
 
Bool_t fShowSlider
 
Rgl::Range_t fV5PredictedRange
 
Rgl::Range_t fV5SliderRange
 

Additional Inherited Members

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

Inheritance diagram for TGL5DPainter:
[legend]

Member Typedef Documentation

◆ ConstSurfIter_t

typedef SurfList_t::const_iterator TGL5DPainter::ConstSurfIter_t

Definition at line 62 of file TGL5DPainter.h.

◆ Mesh_t

Definition at line 39 of file TGL5DPainter.h.

◆ size_type

typedef std::vector<Double_t>::size_type TGL5DPainter::size_type
private

Definition at line 74 of file TGL5DPainter.h.

◆ SurfIter_t

typedef SurfList_t::iterator TGL5DPainter::SurfIter_t

Definition at line 61 of file TGL5DPainter.h.

◆ SurfList_t

typedef std::list<Surf_t> TGL5DPainter::SurfList_t

Definition at line 60 of file TGL5DPainter.h.

Member Enumeration Documentation

◆ EDefaults

Enumerator
kNContours 
kNLowPts 

Definition at line 34 of file TGL5DPainter.h.

Constructor & Destructor Documentation

◆ TGL5DPainter() [1/2]

TGL5DPainter::TGL5DPainter ( TGL5DDataSet data,
TGLPlotCamera camera,
TGLPlotCoordinates coord 
)

Constructor.

Definition at line 36 of file TGL5DPainter.cxx.

◆ TGL5DPainter() [2/2]

TGL5DPainter::TGL5DPainter ( const TGL5DPainter )
private

Member Function Documentation

◆ AddOption()

void TGL5DPainter::AddOption ( const TString option)
virtual

No additional options for TGL5DPainter.

Implements TGLPlotPainter.

Definition at line 241 of file TGL5DPainter.cxx.

◆ AddSurface() [1/2]

TGL5DPainter::SurfIter_t TGL5DPainter::AddSurface ( Double_t  v4,
Color_t  ci,
Double_t  iso = 1.,
Double_t  sigma = 1.,
Double_t  range = 1e-3,
Int_t  lownps = kNLowPts 
)

Try to add new iso-surface.

If something goes wrong, return iterator to the end of fIsos.

Definition at line 54 of file TGL5DPainter.cxx.

◆ AddSurface() [2/2]

void TGL5DPainter::AddSurface ( Double_t  v4)

Add new surface. Simplified version for ged.

Definition at line 102 of file TGL5DPainter.cxx.

◆ DeInitGL()

void TGL5DPainter::DeInitGL ( ) const
privatevirtual

Return some gl states to original values.

Implements TGLPlotPainter.

Definition at line 369 of file TGL5DPainter.cxx.

◆ DrawCloud()

void TGL5DPainter::DrawCloud ( ) const
private

Draw full cloud of points.

Definition at line 465 of file TGL5DPainter.cxx.

◆ DrawMesh()

void TGL5DPainter::DrawMesh ( ConstSurfIter_t  surf) const
private

Draw one iso-surface.

Definition at line 518 of file TGL5DPainter.cxx.

◆ DrawPlot()

void TGL5DPainter::DrawPlot ( ) const
privatevirtual

Draw a set of meshes.

Implements TGLPlotPainter.

Definition at line 381 of file TGL5DPainter.cxx.

◆ DrawSectionXOY()

void TGL5DPainter::DrawSectionXOY ( ) const
inlineprivatevirtual

Implements TGLPlotPainter.

Definition at line 126 of file TGL5DPainter.h.

◆ DrawSectionXOZ()

void TGL5DPainter::DrawSectionXOZ ( ) const
inlineprivatevirtual

Implements TGLPlotPainter.

Definition at line 124 of file TGL5DPainter.h.

◆ DrawSectionYOZ()

void TGL5DPainter::DrawSectionYOZ ( ) const
inlineprivatevirtual

Implements TGLPlotPainter.

Definition at line 125 of file TGL5DPainter.h.

◆ DrawSubCloud()

void TGL5DPainter::DrawSubCloud ( Double_t  v4,
Double_t  range,
Color_t  ci 
) const
private

Draw cloud for selected iso-surface.

Definition at line 490 of file TGL5DPainter.cxx.

◆ GetAlpha()

Double_t TGL5DPainter::GetAlpha ( ) const
inline

Definition at line 106 of file TGL5DPainter.h.

◆ GetNContours()

Int_t TGL5DPainter::GetNContours ( ) const
inline

Definition at line 109 of file TGL5DPainter.h.

◆ GetPlotInfo()

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

Return info for plot part under cursor.

Implements TVirtualGLPainter.

Definition at line 131 of file TGL5DPainter.cxx.

◆ InitGeometry()

Bool_t TGL5DPainter::InitGeometry ( )
virtual

Create mesh.

InitGeometry creates surfaces for auto-iso levels. Called the first time and each time number of auto-levels is reset via the editor.

Implements TGLPlotPainter.

Definition at line 143 of file TGL5DPainter.cxx.

◆ InitGL()

void TGL5DPainter::InitGL ( ) const
privatevirtual

Initialize OpenGL state variables.

Implements TGLPlotPainter.

Definition at line 357 of file TGL5DPainter.cxx.

◆ IsBoxCutShown()

Bool_t TGL5DPainter::IsBoxCutShown ( ) const
inline

Definition at line 103 of file TGL5DPainter.h.

◆ operator=()

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

◆ Pan()

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

Mouse events handler.

Implements TVirtualGLPainter.

Definition at line 202 of file TGL5DPainter.cxx.

◆ ProcessEvent()

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

Implements TGLPlotPainter.

Definition at line 247 of file TGL5DPainter.cxx.

◆ RemoveSurface()

void TGL5DPainter::RemoveSurface ( SurfIter_t  surf)

Remove iso-surface.

Definition at line 118 of file TGL5DPainter.cxx.

◆ ResetGeometryRanges()

void TGL5DPainter::ResetGeometryRanges ( )

No need to create or delete meshes, number of meshes (iso-levels) are the same, but meshes must be rebuilt in new ranges.

Only in cartesian.

Definition at line 306 of file TGL5DPainter.cxx.

◆ SetAlpha()

void TGL5DPainter::SetAlpha ( Double_t  newAlpha)

Set selection range parameter.

Definition at line 272 of file TGL5DPainter.cxx.

◆ SetNContours()

void TGL5DPainter::SetNContours ( Int_t  num)

Set the number of predefined contours.

Definition at line 287 of file TGL5DPainter.cxx.

◆ SetSurfaceColor()

void TGL5DPainter::SetSurfaceColor ( ConstSurfIter_t  surf) const
private

Set the color for iso-surface.

Definition at line 450 of file TGL5DPainter.cxx.

◆ ShowBoxCut()

void TGL5DPainter::ShowBoxCut ( Bool_t  show)
inline

Definition at line 102 of file TGL5DPainter.h.

◆ StartPan()

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

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 191 of file TGL5DPainter.cxx.

◆ SurfacesBegin()

TGL5DPainter::SurfIter_t TGL5DPainter::SurfacesBegin ( )

std::list::begin.

Definition at line 341 of file TGL5DPainter.cxx.

◆ SurfacesEnd()

TGL5DPainter::SurfIter_t TGL5DPainter::SurfacesEnd ( )

std::list::end.

Definition at line 349 of file TGL5DPainter.cxx.

Member Data Documentation

◆ fAlpha

Double_t TGL5DPainter::fAlpha
private

Definition at line 80 of file TGL5DPainter.h.

◆ fData

TGL5DDataSet* TGL5DPainter::fData
private

Definition at line 72 of file TGL5DPainter.h.

◆ fDummy

const Surf_t TGL5DPainter::fDummy
private

Definition at line 68 of file TGL5DPainter.h.

◆ fInit

Bool_t TGL5DPainter::fInit
private

Definition at line 69 of file TGL5DPainter.h.

◆ fIsos

SurfList_t TGL5DPainter::fIsos
private

Definition at line 71 of file TGL5DPainter.h.

◆ fKDE

TKDEFGT TGL5DPainter::fKDE
private

Definition at line 65 of file TGL5DPainter.h.

◆ fMeshBuilder

Rgl::Mc::TMeshBuilder<TKDEFGT, Float_t> TGL5DPainter::fMeshBuilder
private

Definition at line 66 of file TGL5DPainter.h.

◆ fNContours

Int_t TGL5DPainter::fNContours
private

Definition at line 81 of file TGL5DPainter.h.

◆ fShowSlider

Bool_t TGL5DPainter::fShowSlider
private

Definition at line 78 of file TGL5DPainter.h.

◆ fV5PredictedRange

Rgl::Range_t TGL5DPainter::fV5PredictedRange
private

Definition at line 76 of file TGL5DPainter.h.

◆ fV5SliderRange

Rgl::Range_t TGL5DPainter::fV5SliderRange
private

Definition at line 77 of file TGL5DPainter.h.

Libraries for TGL5DPainter:
[legend]

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