class TGLSurfacePainter: public TGLPlotPainter


 Implements painting of TH2 with "SURF" option.

Function Members (Methods)

public:
TGLSurfacePainter(TH1* hist, TGLOrthoCamera* camera, TGLPlotCoordinates* coord, TGLPaintDevice* dev = 0)
~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::SetGLDevice(TGLPaintDevice* dev)
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)
protected:
virtual voidTGLPlotPainter::ClearBuffers() const
voidTGLPlotPainter::DrawSections() const
const TColor*TGLPlotPainter::GetPadColor() const
Bool_tTGLPlotPainter::MakeGLContextCurrent() const
voidTGLPlotPainter::MoveSection(Int_t px, Int_t py)
voidTGLPlotPainter::PrintPlot() const
private:
voidClampZ(Double_t& zVal) 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
};
protected:
TGLPlotBoxTGLPlotPainter::fBackBox
TGLBoxCutTGLPlotPainter::fBoxCut
TGLOrthoCamera*TGLPlotPainter::fCamera
TGLPlotCoordinates*TGLPlotPainter::fCoord
Bool_tTGLPlotPainter::fDrawPalette
Bool_tTGLPlotPainter::fHighColor
TH1*TGLPlotPainter::fHist
TPointTGLPlotPainter::fMousePosition
Double_tTGLPlotPainter::fPadPhi
Double_tTGLPlotPainter::fPadTheta
Int_tTGLPlotPainter::fSelectedPart
TGLSelectionBufferTGLPlotPainter::fSelection
TGLPlotPainter::ESelectionBaseTGLPlotPainter::fSelectionBase
Bool_tTGLPlotPainter::fSelectionPass
Bool_tTGLPlotPainter::fUpdateSelection
TAxis*TGLPlotPainter::fXAxis
Double_tTGLPlotPainter::fXOYSectionPos
Double_tTGLPlotPainter::fXOZSectionPos
TAxis*TGLPlotPainter::fYAxis
Double_tTGLPlotPainter::fYOZSectionPos
TAxis*TGLPlotPainter::fZAxis
vector<Double_t>TGLPlotPainter::fZLevels
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

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLSurfacePainter(TH1* hist, TGLOrthoCamera* camera, TGLPlotCoordinates* coord, TGLPaintDevice* dev = 0)
 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()
Initialize some OpenGL state variables.
void SetNormals()
One normal per vertex;
this normal is average of
neighbouring triangles normals.
void SetSurfaceColor()
Set color for surface.
void DrawPlot()
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()
 Draw projections.
void DrawSectionXOZ()
 Draw section X.
void DrawSectionYOZ()
 Draw section Y.
void DrawSectionXOY()
 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.
Bool_t PreparePalette()
Generate palette.
void GenTexMap()
Find texture coordinates.
void DrawContoursProjection()
Draw flat textured surface.
Bool_t Textured()
Checks, if surf requires texture.
Bool_t HasSections()
Any section exists.
Bool_t HasProjections()
Any projection exists.
void DrawPalette()
Draw. Palette.
void DrawPaletteAxis()
Draw. Palette. Axis.

Last change: Wed Jun 25 08:41:24 2008
Last generated: 2008-06-25 08:41

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.