library: libRGL
#include "TGLSurfacePainter.h"

TGLSurfacePainter


class description - header file - source file
viewCVS header - viewCVS source

class TGLSurfacePainter: public TGLPlotPainter

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TGLSurfacePainter(TH1* hist, TGLOrthoCamera* camera, TGLPlotCoordinates* coord, Int_t glContext = -1)
~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)
virtual voidTGLPlotPainter::SetFrameColor(const TColor* frameColor)
voidTGLPlotPainter::SetGLContext(Int_t context)
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:
voidTGLPlotPainter::DrawSections() const
Int_tTGLPlotPainter::GetGLContext() 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
virtual voidClearBuffers() const
voidDrawContoursProjection() 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:
TH1*TGLPlotPainter::fHist
TAxis*TGLPlotPainter::fXAxis
TAxis*TGLPlotPainter::fYAxis
TAxis*TGLPlotPainter::fZAxis
TGLPlotCoordinates*TGLPlotPainter::fCoord
TGLOrthoCamera*TGLPlotPainter::fCamera
TGLSelectionBufferTGLPlotPainter::fSelection
Bool_tTGLPlotPainter::fUpdateSelection
Bool_tTGLPlotPainter::fSelectionPass
Int_tTGLPlotPainter::fSelectedPart
TPointTGLPlotPainter::fMousePosition
Double_tTGLPlotPainter::fXOZSectionPos
Double_tTGLPlotPainter::fYOZSectionPos
Double_tTGLPlotPainter::fXOYSectionPos
TGLPlotBoxTGLPlotPainter::fBackBox
TGLBoxCutTGLPlotPainter::fBoxCut
vector<Double_t>TGLPlotPainter::fZLevels
Bool_tTGLPlotPainter::fHighColor
TGLPlotPainter::ESelectionBaseTGLPlotPainter::fSelectionBase
private:
TGLSurfacePainter::ESurfaceTypefType
TGL2DArray<TGLVertex3>fMesh
TGL2DArray<Double_t>fTexMap
TGL2DArray<std::pair<TGLVector3,TGLVector3> >fFaceNormals
TGL2DArray<TGLVector3>fAverageNormals
TStringfObjectInfo
TGLSurfacePainter::Projection_tfProj
list<Projection_t>fXOZProj
list<Projection_t>fYOZProj
list<Projection_t>fXOYProj
TGLLevelPalettefPalette
vector<Double_t>fColorLevels
pair<double,double>fMinMaxVal
Bool_tfSectionPass
Bool_tfUpdateTexMap

Class Description

TGLSurfacePainter(TH1 *hist, TGLOrthoCamera *camera, TGLPlotCoordinates *coord, Int_t ctx)
 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 &option)
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 ClearBuffers()
Clears gl buffers (possibly with pad's background color).
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)
Clamp z value.
char * WindowPointTo3DPoint(Int_t px, Int_t py)
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.

Last update: Fri Dec 1 10:15:50 2006


ROOT page - Class index - Class Hierarchy - Top of the page

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.