Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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.
 
void AddOption (const TString &option) override
 No additional options for TGL5DPainter.
 
void AddSurface (Double_t v4)
 Add new surface. Simplified version for ged.
 
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.
 
Double_t GetAlpha () const
 
Int_t GetNContours () const
 
char * GetPlotInfo (Int_t px, Int_t py) override
 Return info for plot part under cursor.
 
Bool_t InitGeometry () override
 Create mesh.
 
Bool_t IsBoxCutShown () const
 
void Pan (Int_t px, Int_t py) override
 Mouse events handler.
 
void ProcessEvent (Int_t event, Int_t px, Int_t py) override
 
void RemoveSurface (SurfIter_t surf)
 Remove iso-surface.
 
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.
 
void SetAlpha (Double_t newAlpha)
 Set selection range parameter.
 
void SetNContours (Int_t num)
 Set the number of predefined contours.
 
void ShowBoxCut (Bool_t show)
 
void StartPan (Int_t px, Int_t py) override
 User clicks right mouse button (in a pad).
 
SurfIter_t SurfacesBegin ()
 std::list::begin.
 
SurfIter_t SurfacesEnd ()
 std::list::end.
 
- 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.
 
TClassIsA () const override
 
void Paint () override
 Draw lego/surf/whatever you can.
 
Bool_t PlotSelected (Int_t px, Int_t py) override
 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)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TVirtualGLPainter
virtual ~TVirtualGLPainter ()
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Private Types

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

Private Member Functions

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

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

- Static Public Member Functions inherited from TGLPlotPainter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TVirtualGLPainter
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- 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.
 
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 <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 35 of file TGL5DPainter.cxx.

◆ TGL5DPainter() [2/2]

TGL5DPainter::TGL5DPainter ( const TGL5DPainter )
private

Member Function Documentation

◆ AddOption()

void TGL5DPainter::AddOption ( const TString option)
overridevirtual

No additional options for TGL5DPainter.

Implements TGLPlotPainter.

Definition at line 240 of file TGL5DPainter.cxx.

◆ AddSurface() [1/2]

void TGL5DPainter::AddSurface ( Double_t  v4)

Add new surface. Simplified version for ged.

Definition at line 101 of file TGL5DPainter.cxx.

◆ AddSurface() [2/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 53 of file TGL5DPainter.cxx.

◆ DeInitGL()

void TGL5DPainter::DeInitGL ( ) const
overrideprivatevirtual

Return some gl states to original values.

Implements TGLPlotPainter.

Definition at line 368 of file TGL5DPainter.cxx.

◆ DrawCloud()

void TGL5DPainter::DrawCloud ( ) const
private

Draw full cloud of points.

Definition at line 464 of file TGL5DPainter.cxx.

◆ DrawMesh()

void TGL5DPainter::DrawMesh ( ConstSurfIter_t  surf) const
private

Draw one iso-surface.

Definition at line 517 of file TGL5DPainter.cxx.

◆ DrawPlot()

void TGL5DPainter::DrawPlot ( ) const
overrideprivatevirtual

Draw a set of meshes.

Implements TGLPlotPainter.

Definition at line 380 of file TGL5DPainter.cxx.

◆ DrawSectionXOY()

void TGL5DPainter::DrawSectionXOY ( ) const
inlineoverrideprivatevirtual

Implements TGLPlotPainter.

Definition at line 126 of file TGL5DPainter.h.

◆ DrawSectionXOZ()

void TGL5DPainter::DrawSectionXOZ ( ) const
inlineoverrideprivatevirtual

Implements TGLPlotPainter.

Definition at line 124 of file TGL5DPainter.h.

◆ DrawSectionYOZ()

void TGL5DPainter::DrawSectionYOZ ( ) const
inlineoverrideprivatevirtual

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 489 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 
)
overridevirtual

Return info for plot part under cursor.

Implements TVirtualGLPainter.

Definition at line 130 of file TGL5DPainter.cxx.

◆ InitGeometry()

Bool_t TGL5DPainter::InitGeometry ( )
overridevirtual

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 142 of file TGL5DPainter.cxx.

◆ InitGL()

void TGL5DPainter::InitGL ( ) const
overrideprivatevirtual

Initialize OpenGL state variables.

Implements TGLPlotPainter.

Definition at line 356 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 
)
overridevirtual

Mouse events handler.

Implements TVirtualGLPainter.

Definition at line 201 of file TGL5DPainter.cxx.

◆ ProcessEvent()

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

Implements TGLPlotPainter.

Definition at line 246 of file TGL5DPainter.cxx.

◆ RemoveSurface()

void TGL5DPainter::RemoveSurface ( SurfIter_t  surf)

Remove iso-surface.

Definition at line 117 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 305 of file TGL5DPainter.cxx.

◆ SetAlpha()

void TGL5DPainter::SetAlpha ( Double_t  newAlpha)

Set selection range parameter.

Definition at line 271 of file TGL5DPainter.cxx.

◆ SetNContours()

void TGL5DPainter::SetNContours ( Int_t  num)

Set the number of predefined contours.

Definition at line 286 of file TGL5DPainter.cxx.

◆ SetSurfaceColor()

void TGL5DPainter::SetSurfaceColor ( ConstSurfIter_t  surf) const
private

Set the color for iso-surface.

Definition at line 449 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 
)
overridevirtual

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 190 of file TGL5DPainter.cxx.

◆ SurfacesBegin()

TGL5DPainter::SurfIter_t TGL5DPainter::SurfacesBegin ( )

std::list::begin.

Definition at line 340 of file TGL5DPainter.cxx.

◆ SurfacesEnd()

TGL5DPainter::SurfIter_t TGL5DPainter::SurfacesEnd ( )

std::list::end.

Definition at line 348 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.

  • graf3d/gl/inc/TGL5DPainter.h
  • graf3d/gl/src/TGL5DPainter.cxx