library: libRGL
#include "TGLHistPainter.h"

TGLHistPainter


class description - source file - inheritance tree (.pdf)

class TGLHistPainter : public TVirtualHistPainter, public TVirtualGLPainter

Inheritance Chart:
TObject
<-
TVirtualHistPainter
TVirtualGLPainter
<-
TGLHistPainter
    private:
TGLHistPainter(const TGLHistPainter&) void AdjustScales() void CalculateTransformation() void ClearBuffers() const void DisableTexture() const void DrawAxes() const void DrawBackPlane(Int_t plane) const void DrawFrame() const void DrawGrid(Int_t plane) const void DrawLego() const void DrawLegoProfileX(Int_t plane) const void DrawLegoProfileY(Int_t plane) const void DrawProfile(Int_t plane) const void DrawSurface() const void DrawSurfaceProfileX(Int_t plane) const void DrawSurfaceProfileY(Int_t plane) const void DrawTF3() const void DrawZeroPlane() const void EnableTexture() const Int_t FrontPoint() const void InitGL() const Bool_t MakeCurrent() const TGLHistPainter& operator=(const TGLHistPainter&) virtual void Paint() Bool_t Select(Int_t x, Int_t y) const void SelectAxes(Int_t front, Int_t x, Int_t y) const void SetAverageNormals() Bool_t SetAxes() void SetCamera() const void SetMesh() void SetNormals() TGLHistPainter::EGLPaintOption SetPaintFunction(const TString& option) void SetPlotColor() const void SetTable() void SetTexture() void SetTF3Mesh() void SetTransformation() const Bool_t SetVertices() void SetZLevels() public:
TGLHistPainter(TH1* hist) ~TGLHistPainter() static TClass* Class() virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) virtual void DrawPanel() virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) virtual void FitPanel() virtual TList* GetContourList(Double_t contour) const virtual char* GetObjectInfo(Int_t px, Int_t py) const virtual TList* GetStack() const virtual TClass* IsA() const virtual Bool_t IsInside(Int_t x, Int_t y) virtual Bool_t IsInside(Double_t x, Double_t y) virtual Int_t MakeCuts(char* cutsOpt) virtual void Paint(Option_t* option) virtual void PaintStat(Int_t dostat, TF1* fit) virtual void ProcessMessage(const char* mess, const TObject* obj) virtual void SetHistogram(TH1* hist) virtual void SetStack(TList* stack) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TVirtualHistPainter* fDefaultPainter TH1* fHist TF3* fF3 TGLHistPainter::EGLPaintOption fLastOption TGLHistPainter::EGLTF3Style fTF3Style TAxis* fAxisX TAxis* fAxisY TAxis* fAxisZ Double_t fMinX Double_t fMaxX Double_t fScaleX Double_t fMinXScaled Double_t fMaxXScaled Double_t fMinY Double_t fMaxY Double_t fScaleY Double_t fMinYScaled Double_t fMaxYScaled Double_t fMinZ Double_t fMaxZ Double_t fScaleZ Double_t fMinZScaled Double_t fMaxZScaled Double_t fFactor TArcBall fRotation Double_t fFrustum[4] Double_t fCenter[3] Double_t fShift Int_t fViewport[4] Int_t fFirstBinX Int_t fLastBinX Int_t fFirstBinY Int_t fLastBinY Int_t fFirstBinZ Int_t fLastBinZ Bool_t fLogX Bool_t fLogY Bool_t fLogZ vector<Double_t> fX vector<Double_t> fY vector<Double_t> fZ RootGL::T2DArray<TGLVertex3> fMesh RootGL::T2DArray<pair<TGLVector3,TGLVector3> > fFaceNormals RootGL::T2DArray<TGLVector3> fAverageNormals vector<RootGL::TGLTriFace_t> fF3Mesh vector<Double_t> fZLevels Int_t fGLDevice TGLVertex3 f2DAxes[8] Bool_t f2DPass UInt_t fTextureName vector<UChar_t> fTexture G__p2memfunc fCurrentPainter Int_t fFrontPoint public:
static const TGLHistPainter::EGLPaintOption kLego static const TGLHistPainter::EGLPaintOption kLego2 static const TGLHistPainter::EGLPaintOption kSurface static const TGLHistPainter::EGLPaintOption kSurface1 static const TGLHistPainter::EGLPaintOption kSurface2 static const TGLHistPainter::EGLPaintOption kSurface4 static const TGLHistPainter::EGLPaintOption kTF3 static const TGLHistPainter::EGLPaintOption kUnsupported static const TGLHistPainter::EGLTF3Style kDefault static const TGLHistPainter::EGLTF3Style kMaple0 static const TGLHistPainter::EGLTF3Style kMaple1 static const TGLHistPainter::EGLTF3Style kMaple2

Class Description


~TGLHistPainter()
Destructor

Int_t DistancetoPrimitive(Int_t px, Int_t py)
If fLastOption != kUnsupported, try to select hist or axis.
If not - gPad is selected (there are problems with TF2)

void DrawPanel()
FIX

void ExecuteEvent(Int_t event, Int_t px, Int_t py)
If fLastOption == kUnsupported, delegate call.
If not, try to process itself

void FitPanel()
FIX

TList* GetContourList(Double_t contour)const
FIX

char* GetObjectInfo(Int_t px, Int_t py)const
FIX

TList* GetStack()const
FIX

Bool_t IsInside(Int_t x, Int_t y)
FIX

Bool_t IsInside(Double_t x, Double_t y)
FIX

void PaintStat(Int_t dostat, TF1 *fit)
FIX

void ProcessMessage(const char *mess, const TObject *obj)
FIX

void SetHistogram(TH1 *hist)
FIX

void SetStack(TList *stack)
FIX

Int_t MakeCuts(char *cutsOpt)
FIX

void Paint(Option_t *o)
Final-overrider for TObject's Paint

void Paint()
This function indirectly called via gGLManager->PaintSingleObject

Bool_t SetVertices()
Set axes ranges, vertices, normals

Bool_t SetAxes()
Having TH1 pointer, setup min/max sizes and scales

void AdjustScales()
Finds the maximum dimension and adjust scale coefficients

void SetTable()
Calculates table of X and Y for lego (Z is obtained during drawing) or
calculate mesh of triangles with vertices in the centres of bins

void SetMesh()
Calculates table of X and Y for lego (Z is obtained during drawing) or
calculate mesh of triangles with vertices in the centres of bins

void SetTF3Mesh()
Build mesh for TF3 surface

void SetNormals()
Calculates normals for triangles in surface.
we have four points (cell contents of four neighbouring hist bins),
three points are in one plane, so build normals for 2 triangles

void SetAverageNormals()
One normal per vertex;
this normal is average of
neighbouring triangles normals

void InitGL()const
gl initialization (Disable/Enable)

Bool_t MakeCurrent()const
Check gl context and make it current

void DrawLego()const
Draws lego

void DrawSurface()const
Draw surf/surf1/surf2/surf4

void DrawTF3()const
Draw TF3 surface

void CalculateTransformation()
Sets viewport, bounds for arcball
Calculates arguments for glOrtho
Claculates center of scene and shift

void DrawFrame()const
Draws frame box around hist or surface,
draws grids and 'profiles'
Planes are 85% opaque to make their color "softer"

void SetCamera()const
Viewport and projection

void SetTransformation()const
Applies rotations and translations before drawing

Int_t FrontPoint()const
Converts 3d points into window coordinate system
and find the nearest

void DrawBackPlane(Int_t plane)const
Draw back plane with number 'plane'

void DrawAxes()const
Using front point, find, where to draw axes and which labels to use for them
gVirtualX->SelectWindow(gGLManager->GetVirtualXInd(fGLDevice));

Bool_t Select(Int_t x, Int_t y)const
Find hist "square" on screen

void SelectAxes(Int_t front, Int_t x, Int_t y)const
Checks, if axis can be selected

void DrawZeroPlane()const
Blue, semi-transparent plane at zero-level

void DrawProfile(Int_t plane)const
Draw "shadows" for lego/surf

void DrawLegoProfileX(Int_t plane)const
Draws X lego's profile on 'plane'
for each 'row' find min and max
and draw them as rectangle

void DrawLegoProfileY(Int_t plane)const
Draws Y lego's profile on 'plane'
for each 'column' find min and max
and draw them as rectangle

void DrawSurfaceProfileX(Int_t plane)const
Draws X surface's profile on 'plane'

void DrawSurfaceProfileY(Int_t plane)const
Draws Y surface's profile on 'plane'

void SetZLevels()
Define levels for grid

void DrawGrid(Int_t plane)const
Grid at XOZ or YOZ back plane
Under win32 glPushAttrib does not help with GL_LINE_STIPPLE enable bit

void ClearBuffers()const
Clears gl buffers

void SetTexture()
Set default texture

void SetPlotColor()const
Set color for lego/surface

void EnableTexture()const
Enable 1D texture

void DisableTexture()const
Disable 1D texture



Inline Functions


                        TGLHistPainter TGLHistPainter(TH1* hist)
        TGLHistPainter::EGLPaintOption SetPaintFunction(const TString& option)
                        TGLHistPainter TGLHistPainter(const TGLHistPainter&)
                       TGLHistPainter& operator=(const TGLHistPainter&)
                               TClass* Class()
                               TClass* IsA() const
                                  void ShowMembers(TMemberInspector& insp, char* parent)
                                  void Streamer(TBuffer& b)
                                  void StreamerNVirtual(TBuffer& b)


Last update: Fri Feb 10 06:28:32 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.