ROOT logo
ROOT » GRAF3D » GL » TGLSurfacePainter

class TGLSurfacePainter: public TGLPlotPainter


 Implements painting of TH2 with "SURF" option.

Function Members (Methods)

public:
TGLSurfacePainter(TH1* hist, TGLPlotCamera* camera, TGLPlotCoordinates* coord)
~TGLSurfacePainter()
virtual voidAddOption(const TString& stringOption)
static TClass*Class()
Bool_tTGLPlotPainter::CutAxisSelected() const
virtual char*GetPlotInfo(Int_t px, Int_t py)
virtual Bool_tInitGeometry()
voidTGLPlotPainter::InvalidateSelection()
virtual TClass*IsA() const
TVirtualGLPainter&TVirtualGLPainter::operator=(const TVirtualGLPainter&)
virtual voidTGLPlotPainter::Paint()
virtual voidPan(Int_t px, Int_t py)
virtual Bool_tTGLPlotPainter::PlotSelected(Int_t px, Int_t py)
virtual voidProcessEvent(Int_t event, Int_t px, Int_t py)
const TGLPlotBox&TGLPlotPainter::RefBackBox() const
virtual voidTGLPlotPainter::SetFrameColor(const TColor* frameColor)
voidTGLPlotPainter::SetPadColor(const TColor* color)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStartPan(Int_t px, Int_t py)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
private:
voidClampZ(Double_t& zVal) const
virtual voidDeInitGL() const
voidDrawContoursProjection() const
voidDrawPalette() const
virtual voidDrawPaletteAxis() const
virtual voidDrawPlot() const
voidDrawProjections() const
virtual voidDrawSectionXOY() const
virtual voidDrawSectionXOZ() const
virtual voidDrawSectionYOZ() const
voidGenTexMap() const
Bool_tHasProjections() const
Bool_tHasSections() const
Bool_tInitGeometryCartesian()
Bool_tInitGeometryCylindrical()
Bool_tInitGeometryPolar()
Bool_tInitGeometrySpherical()
virtual voidInitGL() const
Bool_tPreparePalette() const
voidSetNormals()
voidSetSurfaceColor() const
Bool_tTextured() const
char*WindowPointTo3DPoint(Int_t px, Int_t py) const

Data Members

public:
enum ESurfaceType { kSurf
kSurf1
kSurf2
kSurf3
kSurf4
kSurf5
};
enum TGLPlotPainter::ESelectionBase { kHighColorSelectionBase
kTrueColorSelectionBase
};
enum TGLPlotPainter::ECutAxisID { kXAxis
kYAxis
kZAxis
};
private:
TGL2DArray<TGLVector3>fAverageNormals
vector<Double_t>fColorLevels
TGL2DArray<std::pair<TGLVector3,TGLVector3> >fFaceNormals
TGL2DArray<TGLVertex3>fMesh
pair<double,double>fMinMaxVal
TStringfObjectInfo
TGLLevelPalettefPalette
TGLSurfacePainter::Projection_tfProj
Bool_tfSectionPass
TGL2DArray<Double_t>fTexMap
TGLSurfacePainter::ESurfaceTypefType
Bool_tfUpdateTexMap
list<Projection_t>fXOYProj
list<Projection_t>fXOZProj
list<Projection_t>fYOZProj
static TRandom*fgRandom

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLSurfacePainter(TH1* hist, TGLPlotCamera* camera, TGLPlotCoordinates* coord)
 Constructor.
char * GetPlotInfo(Int_t px, Int_t py)
Coords for point on surface under cursor.
Bool_t InitGeometry()
Set mesh, normals.
void StartPan(Int_t px, Int_t py)
User clicks right mouse button (in a pad).
void Pan(Int_t px, Int_t py)
User's moving mouse cursor, with middle mouse button pressed (for pad).
Calculate 3d shift related to 2d mouse movement.
void AddOption(const TString& stringOption)
Additional options for surfaces.
void ProcessEvent(Int_t event, Int_t px, Int_t py)
Remove all profiles/sections.
void InitGL() const
Initialize some OpenGL state variables.
void DeInitGL() const
Initialize some OpenGL state variables.
void SetNormals()
One normal per vertex;
this normal is average of
neighbouring triangles normals.
void SetSurfaceColor() const
Set color for surface.
void DrawPlot() const
Draw surf/surf1/surf2/surf4
Bool_t InitGeometryCartesian()
Find bin ranges for X and Y axes,
axes ranges for X, Y and Z.
Function returns false, if logarithmic scale for
some axis was requested, but we cannot
find correct range.
Bool_t InitGeometryPolar()
Find bin ranges for X and Y axes,
axes ranges for X, Y and Z.
Function returns false, if logarithmic scale for
some axis was requested, but we cannot
find correct range.
Bool_t InitGeometryCylindrical()
Find bin ranges for X and Y axes,
axes ranges for X, Y and Z.
Function returns false, if logarithmic scale for
some axis was requested, but we cannot
find correct range.
Bool_t InitGeometrySpherical()
Find bin ranges for X and Y axes,
axes ranges for X, Y and Z.
Function returns false, if logarithmic scale for
some axis was requested, but we cannot
find correct range.
void DrawProjections() const
 Draw projections.
void DrawSectionXOZ() const
 Draw section X.
void DrawSectionYOZ() const
 Draw section Y.
void DrawSectionXOY() const
 Draw section Z.
void ClampZ(Double_t& zVal) const
Clamp z value.
char * WindowPointTo3DPoint(Int_t px, Int_t py) const
Find 3d coords using mouse cursor coords.
   if (!MakeGLContextCurrent()) {
      static char err[] = { "Apocalipshit!" };
      return err;
}
Bool_t PreparePalette() const
Generate palette.
void GenTexMap() const
Find texture coordinates.
void DrawContoursProjection() const
Draw flat textured surface.
Bool_t Textured() const
Checks, if surf requires texture.
Bool_t HasSections() const
Any section exists.
Bool_t HasProjections() const
Any projection exists.
void DrawPalette() const
Draw. Palette.
void DrawPaletteAxis() const
Draw. Palette. Axis.