12#ifndef ROOT_TGLSurfacePainter 
   13#define ROOT_TGLSurfacePainter 
   76   void   InitGL()
const override;
 
 
#define ClassDefOverride(name, id)
 
winID h TVirtualViewer3D TVirtualGLPainter char GetPlotInfo
 
Camera for TGLPlotPainter and sub-classes.
 
Helper class for plot-painters holding information about axis ranges, numbers of bins and flags if ce...
 
Base class for plot-painters that provide GL rendering of various 2D and 3D histograms,...
 
Implements painting of TH2 with "SURF" option.
 
char * WindowPointTo3DPoint(Int_t px, Int_t py) const
Find 3d coords using mouse cursor coords.
 
void Pan(Int_t px, Int_t py) override
User's moving mouse cursor, with middle mouse button pressed (for pad).
 
void InitGL() const override
Initialize some OpenGL state variables.
 
TGL2DArray< Double_t > fTexMap
 
void ProcessEvent(Int_t event, Int_t px, Int_t py) override
Remove all profiles/sections.
 
Bool_t InitGeometryPolar()
Find bin ranges for X and Y axes, axes ranges for X, Y and Z.
 
void AddOption(const TString &stringOption) override
Additional options for surfaces.
 
void DrawProjections() const
Draw projections.
 
Bool_t HasProjections() const
Any projection exists.
 
Bool_t Textured() const
Checks, if surf requires texture.
 
void DrawSectionXOY() const override
Draw section Z.
 
std::list< Projection_t > fXOYProj
 
void DrawPalette() const
Draw.
 
TGL2DArray< TGLVector3 > fAverageNormals
 
std::vector< Double_t > fColorLevels
 
void SetSurfaceColor() const
Set color for surface.
 
void DrawPaletteAxis() const override
Draw. Palette. Axis.
 
void DrawSectionXOZ() const override
Draw section X.
 
void DrawPlot() const override
Draw surf/surf1/surf2/surf4.
 
void DeInitGL() const override
Initialize some OpenGL state variables.
 
void DrawSectionYOZ() const override
Draw section Y.
 
TGL2DArray< std::pair< TGLVector3, TGLVector3 > > fFaceNormals
 
void DrawContoursProjection() const
Draw flat textured surface.
 
std::list< Projection_t > fXOZProj
 
Bool_t InitGeometrySpherical()
Find bin ranges for X and Y axes, axes ranges for X, Y and Z.
 
TGLSurfacePainter(TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
Constructor.
 
void ClampZ(Double_t &zVal) const
Clamp z value.
 
TGL2DArray< TGLVertex3 > fMesh
 
Bool_t InitGeometryCartesian()
Find bin ranges for X and Y axes, axes ranges for X, Y and Z.
 
Bool_t PreparePalette() const
Generate palette.
 
Bool_t InitGeometry() override
Set mesh, normals.
 
static TRandom * fgRandom
 
void GenTexMap() const
Find texture coordinates.
 
void SetNormals()
One normal per vertex; this normal is average of neighbouring triangles normals.
 
void StartPan(Int_t px, Int_t py) override
User clicks right mouse button (in a pad).
 
Bool_t InitGeometryCylindrical()
Find bin ranges for X and Y axes, axes ranges for X, Y and Z.
 
std::list< Projection_t > fYOZProj
 
Bool_t HasSections() const
Any section exists.
 
TH1 is the base class of all histogram classes in ROOT.
 
This is the base class for the ROOT Random number generators.
 
std::pair< Double_t, Double_t > Range_t
 
std::vector< TGLVertex3 > fVertices