TGLSurfacePainter Class Reference

#include <TGLSurfacePainter.h>

Inheritance diagram for TGLSurfacePainter:

TGLPlotPainter TGLPlotPainter TVirtualGLPainter TVirtualGLPainter TVirtualGLPainter TVirtualGLPainter List of all members.

Public Member Functions

 TGLSurfacePainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
char * GetPlotInfo (Int_t px, Int_t py)
Bool_t InitGeometry ()
void StartPan (Int_t px, Int_t py)
void Pan (Int_t px, Int_t py)
void AddOption (const TString &stringOption)
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 TGLSurfacePainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
char * GetPlotInfo (Int_t px, Int_t py)
Bool_t InitGeometry ()
void StartPan (Int_t px, Int_t py)
void Pan (Int_t px, Int_t py)
void AddOption (const TString &stringOption)
void ProcessEvent (Int_t event, Int_t px, Int_t py)

Private Types

enum  ESurfaceType
enum  ESurfaceType

Private Member Functions

void InitGL () const
void DeInitGL () const
void DrawPlot () const
void SetNormals ()
void SetSurfaceColor () const
Bool_t InitGeometryCartesian ()
Bool_t InitGeometryPolar ()
Bool_t InitGeometryCylindrical ()
Bool_t InitGeometrySpherical ()
void DrawProjections () const
void DrawSectionXOZ () const
void DrawSectionYOZ () const
void DrawSectionXOY () const
void ClampZ (Double_t &zVal) const
char * WindowPointTo3DPoint (Int_t px, Int_t py) const
Bool_t PreparePalette () const
void GenTexMap () const
void DrawContoursProjection () const
Bool_t Textured () const
Bool_t HasSections () const
Bool_t HasProjections () const
void DrawPalette () const
void DrawPaletteAxis () const
void InitGL () const
void DeInitGL () const
void DrawPlot () const
void SetNormals ()
void SetSurfaceColor () const
Bool_t InitGeometryCartesian ()
Bool_t InitGeometryPolar ()
Bool_t InitGeometryCylindrical ()
Bool_t InitGeometrySpherical ()
void DrawProjections () const
void DrawSectionXOZ () const
void DrawSectionYOZ () const
void DrawSectionXOY () const
void ClampZ (Double_t &zVal) const
char * WindowPointTo3DPoint (Int_t px, Int_t py) const
Bool_t PreparePalette () const
void GenTexMap () const
void DrawContoursProjection () const
Bool_t Textured () const
Bool_t HasSections () const
Bool_t HasProjections () const
void DrawPalette () const
void DrawPaletteAxis () const

Private Attributes

ESurfaceType fType
TGL2DArray< TGLVertex3fMesh
TGL2DArray< Double_tfTexMap
TGL2DArray< std::pair< TGLVector3,
TGLVector3 > > 
fFaceNormals
TGL2DArray< TGLVector3fAverageNormals
TString fObjectInfo
Projection_t fProj
std::list< Projection_tfXOZProj
std::list< Projection_tfYOZProj
std::list< Projection_tfXOYProj
TGLLevelPalette fPalette
std::vector< Double_tfColorLevels
Rgl::Range_t fMinMaxVal
Bool_t fSectionPass
Bool_t fUpdateTexMap
TGL2DArray< TGLVertex3fMesh
TGL2DArray< Double_tfTexMap
TGL2DArray< std::pair< TGLVector3,
TGLVector3 > > 
fFaceNormals
TGL2DArray< TGLVector3fAverageNormals
std::list< Projection_tfXOZProj
std::list< Projection_tfYOZProj
std::list< Projection_tfXOYProj
std::vector< Double_tfColorLevels

Static Private Attributes

static TRandomfgRandom
static TRandomfgRandom

Classes

struct  Projection_t

Detailed Description

Definition at line 30 of file TGLSurfacePainter.h.


Member Enumeration Documentation

enum TGLSurfacePainter::ESurfaceType [private]

Definition at line 32 of file TGLSurfacePainter.h.

enum TGLSurfacePainter::ESurfaceType [private]

Definition at line 32 of file TGLSurfacePainter.h.


Constructor & Destructor Documentation

TGLSurfacePainter::TGLSurfacePainter ( TH1 hist,
TGLPlotCamera camera,
TGLPlotCoordinates coord 
)

Definition at line 54 of file TGLSurfacePainter.cxx.

TGLSurfacePainter::TGLSurfacePainter ( TH1 hist,
TGLPlotCamera camera,
TGLPlotCoordinates coord 
)


Member Function Documentation

char * TGLSurfacePainter::GetPlotInfo ( Int_t  px,
Int_t  py 
) [virtual]

Implements TVirtualGLPainter.

Definition at line 64 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fHighColor, TGLPlotPainter::fSelectedPart, TGLPlotPainter::fSelectionBase, TMVA::null(), and WindowPointTo3DPoint().

Bool_t TGLSurfacePainter::InitGeometry (  )  [virtual]

Implements TGLPlotPainter.

Definition at line 78 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fBackBox, TGLPlotPainter::fCamera, TGLPlotPainter::fCoord, TGLPlotBox::Get3DBox(), TGLPlotCoordinates::GetCoordType(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), kFALSE, kGLCartesian, kGLCylindrical, kGLPolar, kGLSpherical, and TGLPlotCamera::SetViewVolume().

void TGLSurfacePainter::StartPan ( Int_t  px,
Int_t  py 
) [virtual]

Implements TGLPlotPainter.

Definition at line 99 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fBoxCut, TGLPlotPainter::fCamera, TGLPlotPainter::fMousePosition, TPoint::fX, TPoint::fY, TGLPlotCamera::GetHeight(), TGLBoxCut::StartMovement(), and TGLPlotCamera::StartPan().

void TGLSurfacePainter::Pan ( Int_t  px,
Int_t  py 
) [virtual]

Implements TVirtualGLPainter.

Definition at line 109 of file TGLSurfacePainter.cxx.

References TGLPlotCamera::Apply(), TGLPlotPainter::fBoxCut, TGLPlotPainter::fCamera, TGLPlotPainter::fHighColor, TGLPlotPainter::fMousePosition, TGLPlotPainter::fPadPhi, TGLPlotPainter::fPadTheta, TGLPlotPainter::fSelectedPart, TGLPlotPainter::fSelectionBase, TGLPlotPainter::fUpdateSelection, TPoint::fX, TPoint::fY, TGLPlotCamera::GetHeight(), TGLBoxCut::IsActive(), kTRUE, TGLPlotPainter::kXAxis, TGLPlotPainter::kZAxis, TGLBoxCut::MoveBox(), TGLPlotPainter::MoveSection(), TGLPlotCamera::Pan(), TGLPlotPainter::RestoreModelviewMatrix(), TGLPlotPainter::RestoreProjectionMatrix(), TGLPlotPainter::SaveModelviewMatrix(), TGLPlotPainter::SaveProjectionMatrix(), and TGLPlotCamera::SetCamera().

void TGLSurfacePainter::AddOption ( const TString stringOption  )  [virtual]

Implements TGLPlotPainter.

Definition at line 152 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fCoord, TGLPlotPainter::fDrawPalette, fType, TGLPlotCoordinates::GetCoordType(), kFALSE, kGLCartesian, kGLCylindrical, kGLSpherical, kNPOS, kSurf, kSurf1, kSurf2, kSurf3, kSurf4, kSurf5, kTRUE, option, and TGLPlotCoordinates::SetCoordType().

void TGLSurfacePainter::ProcessEvent ( Int_t  event,
Int_t  px,
Int_t  py 
) [virtual]

Implements TGLPlotPainter.

Definition at line 188 of file TGLSurfacePainter.cxx.

References DrawSectionXOY(), DrawSectionXOZ(), DrawSectionYOZ(), TGLPlotPainter::fBackBox, TGLPlotPainter::fBoxCut, TGLPlotPainter::fHighColor, Form(), fSectionPass, TGLPlotPainter::fUpdateSelection, fXOYProj, TGLPlotPainter::fXOYSectionPos, fXOZProj, TGLPlotPainter::fXOZSectionPos, fYOZProj, TGLPlotPainter::fYOZSectionPos, TGLPlotBox::Get3DBox(), gROOT, gVirtualX, HasProjections(), HasSections(), Info, TGLBoxCut::IsActive(), kButton1Double, kFALSE, kKey_C, kKey_c, kKey_P, kKey_p, kKeyPress, kTRUE, TGLPlotPainter::Paint(), TROOT::ProcessLineFast(), TGLBoxCut::TurnOnOff(), TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

void TGLSurfacePainter::InitGL (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 228 of file TGLSurfacePainter.cxx.

References GL_CULL_FACE, GL_DEPTH_TEST, GL_LIGHT0, GL_LIGHT_MODEL_TWO_SIDE, GL_LIGHTING, GL_TRUE, glDisable(), glEnable(), and glLightModeli().

void TGLSurfacePainter::DeInitGL (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 239 of file TGLSurfacePainter.cxx.

References GL_CULL_FACE, GL_DEPTH_TEST, GL_FALSE, GL_LIGHT0, GL_LIGHT_MODEL_TWO_SIDE, GL_LIGHTING, glDisable(), and glLightModeli().

void TGLSurfacePainter::DrawPlot (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 317 of file TGLSurfacePainter.cxx.

References TGLLevelPalette::DisableTexture(), TGLBoxCut::DrawBox(), TGLPlotBox::DrawBox(), DrawContoursProjection(), Rgl::DrawFaceTextured(), DrawPalette(), DrawProjections(), Rgl::DrawQuadOutline(), TGLPlotPainter::DrawSections(), Rgl::DrawSmoothFace(), TGLLevelPalette::EnableTexture(), fAverageNormals, TGLPlotPainter::fBackBox, TGLPlotPainter::fBoxCut, TGLPlotPainter::fCoord, TGLPlotPainter::fDrawPalette, TGLPlotPainter::fHighColor, fMesh, fPalette, TGLPlotPainter::fSelectedPart, TGLPlotPainter::fSelectionBase, TGLPlotPainter::fSelectionPass, fTexMap, fType, TGLPlotPainter::fZLevels, TGLPlotCoordinates::GetCoordType(), TGLPlotBox::GetFrontPoint(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), GL_BLEND, GL_FALSE, GL_LIGHTING, GL_LINE_SMOOTH, GL_LINE_SMOOTH_HINT, GL_LINE_STRIP, GL_MODULATE, GL_NICEST, GL_ONE_MINUS_SRC_ALPHA, GL_POLYGON_OFFSET_FILL, GL_SRC_ALPHA, GL_TRUE, glBegin(), glBlendFunc(), glColor4d(), glDepthMask(), glDisable(), glEnable(), glEnd(), glHint(), glLineWidth(), glPolygonOffset(), glVertex3dv(), HasProjections(), HasSections(), i, TGLBoxCut::IsActive(), TGLBoxCut::IsInCut(), j, kFALSE, kGLCartesian, kSurf, kSurf1, kSurf2, kSurf3, kSurf5, kTRUE, TMath::Max(), TMath::Min(), Rgl::ObjectIDToColor(), PreparePalette(), SetSurfaceColor(), Textured(), X, Y, and Z.

void TGLSurfacePainter::SetNormals (  )  [private]

Definition at line 251 of file TGLSurfacePainter.cxx.

References fAverageNormals, TGLPlotPainter::fCoord, fFaceNormals, fMesh, TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), i, j, norm(), TMath::Normal2Plane(), and TGL2DArray< T >::SetRowLen().

Referenced by InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), and InitGeometrySpherical().

void TGLSurfacePainter::SetSurfaceColor (  )  const [private]

Definition at line 301 of file TGLSurfacePainter.cxx.

References c, TGLPlotPainter::fHist, fType, TROOT::GetColor(), TAttFill::GetFillColor(), GL_DIFFUSE, GL_FRONT_AND_BACK, GL_SHININESS, GL_SPECULAR, glMaterialf(), glMaterialfv(), gROOT, kSurf1, kSurf2, kSurf5, and kWhite.

Referenced by DrawPlot().

Bool_t TGLSurfacePainter::InitGeometryCartesian (  )  [private]

Definition at line 478 of file TGLSurfacePainter.cxx.

References ClampZ(), TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, TGLPlotPainter::fHist, fMesh, fMinMaxVal, TGLPlotPainter::fUpdateSelection, fUpdateTexMap, TGLPlotPainter::fXAxis, TGLPlotPainter::fXOYSectionPos, TGLPlotPainter::fXOZSectionPos, TGLPlotPainter::fYAxis, TGLPlotPainter::fYOZSectionPos, TGLPlotPainter::fZAxis, TGLPlotPainter::fZLevels, TGLPlotBox::Get3DBox(), TAxis::GetBinCenter(), TH1::GetBinContent(), TH1::GetCellContent(), TGLPlotCoordinates::GetFirstXBin(), TGLPlotCoordinates::GetFirstYBin(), TGLPlotCoordinates::GetLastXBin(), TGLPlotCoordinates::GetLastYBin(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), TGLPlotCoordinates::GetXLog(), TGLPlotCoordinates::GetXRangeScaled(), TGLPlotCoordinates::GetXScale(), TGLPlotCoordinates::GetYLog(), TGLPlotCoordinates::GetYRangeScaled(), TGLPlotCoordinates::GetYScale(), TGLPlotCoordinates::GetZRange(), TGLPlotCoordinates::GetZRangeScaled(), TGLPlotCoordinates::GetZScale(), i, j, kFALSE, kTRUE, TMath::Log10(), TMath::Max(), TMath::Min(), TGLPlotCoordinates::Modified(), TGLPlotCoordinates::ResetModified(), SetNormals(), TGLPlotBox::SetPlotBox(), TGLPlotCoordinates::SetRanges(), TGL2DArray< T >::SetRowLen(), Rgl::SetZLevels(), Textured(), val, TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by InitGeometry().

Bool_t TGLSurfacePainter::InitGeometryPolar (  )  [private]

Definition at line 546 of file TGLSurfacePainter.cxx.

References ClampZ(), TMath::Cos(), TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, TGLPlotPainter::fHist, fMesh, fMinMaxVal, TGLPlotPainter::fUpdateSelection, fUpdateTexMap, TGLPlotPainter::fXAxis, TGLPlotPainter::fXOYSectionPos, TGLPlotPainter::fXOZSectionPos, TGLPlotPainter::fYAxis, TGLPlotPainter::fYOZSectionPos, TGLPlotBox::Get3DBox(), TAxis::GetBinCenter(), TH1::GetBinContent(), TGLPlotCoordinates::GetFirstXBin(), TGLPlotCoordinates::GetFirstYBin(), TGLPlotCoordinates::GetLastXBin(), TGLPlotCoordinates::GetLastYBin(), TAxis::GetNbins(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), TGLPlotCoordinates::GetXRangeScaled(), TGLPlotCoordinates::GetYRangeScaled(), TGLPlotCoordinates::GetYScale(), TGLPlotCoordinates::GetZRangeScaled(), i, j, kFALSE, kTRUE, TMath::Max(), TMath::Min(), TGLPlotCoordinates::Modified(), TGLPlotCoordinates::ResetModified(), SetNormals(), TGLPlotBox::SetPlotBox(), TGLPlotCoordinates::SetRanges(), TGL2DArray< T >::SetRowLen(), TMath::Sin(), Textured(), TMath::TwoPi(), val, TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by InitGeometry().

Bool_t TGLSurfacePainter::InitGeometryCylindrical (  )  [private]

Definition at line 613 of file TGLSurfacePainter.cxx.

References TMath::Cos(), TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, TGLPlotPainter::fHist, fMesh, fMinMaxVal, fType, TGLPlotPainter::fUpdateSelection, fUpdateTexMap, TGLPlotPainter::fXAxis, TGLPlotPainter::fXOYSectionPos, TGLPlotPainter::fXOZSectionPos, TGLPlotPainter::fYAxis, TGLPlotPainter::fYOZSectionPos, TGLPlotBox::Get3DBox(), TAxis::GetBinCenter(), TH1::GetBinContent(), TAxis::GetBinLowEdge(), TH1::GetCellContent(), TGLPlotCoordinates::GetFirstXBin(), TGLPlotCoordinates::GetFirstYBin(), TGLPlotCoordinates::GetLastXBin(), TGLPlotCoordinates::GetLastYBin(), TStyle::GetLegoInnerR(), TAxis::GetNbins(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), TGLPlotCoordinates::GetXRangeScaled(), TGLPlotCoordinates::GetXScale(), TGLPlotCoordinates::GetYLog(), TGLPlotCoordinates::GetYRangeScaled(), TGLPlotCoordinates::GetYScale(), TGLPlotCoordinates::GetZLength(), TGLPlotCoordinates::GetZRange(), TGLPlotCoordinates::GetZRangeScaled(), gStyle, i, j, kFALSE, kSurf5, kTRUE, TMath::Log10(), TMath::Max(), TMath::Min(), TGLPlotCoordinates::Modified(), TGLPlotCoordinates::ResetModified(), SetNormals(), TGLPlotBox::SetPlotBox(), TGLPlotCoordinates::SetRanges(), TGL2DArray< T >::SetRowLen(), TMath::Sin(), Textured(), TMath::TwoPi(), val, TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by InitGeometry().

Bool_t TGLSurfacePainter::InitGeometrySpherical (  )  [private]

Definition at line 686 of file TGLSurfacePainter.cxx.

References TMath::Cos(), TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, TGLPlotPainter::fHist, fMesh, fMinMaxVal, fType, TGLPlotPainter::fUpdateSelection, fUpdateTexMap, TGLPlotPainter::fXAxis, TGLPlotPainter::fXOYSectionPos, TGLPlotPainter::fXOZSectionPos, TGLPlotPainter::fYAxis, TGLPlotPainter::fYOZSectionPos, TGLPlotBox::Get3DBox(), TAxis::GetBinCenter(), TH1::GetBinContent(), TH1::GetCellContent(), TGLPlotCoordinates::GetFirstXBin(), TGLPlotCoordinates::GetFirstYBin(), TGLPlotCoordinates::GetLastXBin(), TGLPlotCoordinates::GetLastYBin(), TStyle::GetLegoInnerR(), TAxis::GetNbins(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), TGLPlotCoordinates::GetXRangeScaled(), TGLPlotCoordinates::GetXScale(), TGLPlotCoordinates::GetYRangeScaled(), TGLPlotCoordinates::GetZLength(), TGLPlotCoordinates::GetZRange(), TGLPlotCoordinates::GetZRangeScaled(), gStyle, i, j, kFALSE, kSurf5, kTRUE, TMath::Max(), TMath::Min(), TGLPlotCoordinates::Modified(), phi, TMath::Pi(), TGLPlotCoordinates::ResetModified(), SetNormals(), TGLPlotBox::SetPlotBox(), TGLPlotCoordinates::SetRanges(), TGL2DArray< T >::SetRowLen(), TMath::Sin(), Textured(), theta, TMath::TwoPi(), val, TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by InitGeometry().

void TGLSurfacePainter::DrawProjections (  )  const [private]

Definition at line 765 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fBackBox, fXOYProj, fXOZProj, fYOZProj, TGLPlotBox::Get3DBox(), TGLPlotBox::GetFrontPoint(), GL_BLEND, GL_FALSE, GL_LIGHTING, GL_LINE_SMOOTH, GL_LINE_SMOOTH_HINT, GL_LINE_STRIP, GL_LINES, GL_NICEST, GL_TRUE, glBegin(), glColor4ub(), glDepthMask(), glEnd(), glHint(), glLineWidth(), glVertex3d(), glVertex3dv(), i, v1, TGLVertex3::X(), x, TGLVertex3::Y(), y, and TGLVertex3::Z().

Referenced by DrawPlot().

void TGLSurfacePainter::DrawSectionXOZ (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 854 of file TGLSurfacePainter.cxx.

References dummy, TGLPlotPainter::fCoord, fgRandom, fMesh, fProj, TGLSurfacePainter::Projection_t::fRGBA, fSectionPass, TGLSurfacePainter::Projection_t::fVertices, fXOZProj, TGLPlotPainter::fXOZSectionPos, TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), GL_LINE_STRIP, glBegin(), glColor3d(), glEnd(), glLineWidth(), glVertex3dv(), i, TRandom::Integer(), Intersection(), j, kFALSE, and Y.

Referenced by ProcessEvent().

void TGLSurfacePainter::DrawSectionYOZ (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 905 of file TGLSurfacePainter.cxx.

References dummy, TGLPlotPainter::fCoord, fgRandom, fMesh, fProj, TGLSurfacePainter::Projection_t::fRGBA, fSectionPass, TGLSurfacePainter::Projection_t::fVertices, fYOZProj, TGLPlotPainter::fYOZSectionPos, TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), GL_LINE_STRIP, glBegin(), glColor3d(), glEnd(), glLineWidth(), glVertex3dv(), i, TRandom::Integer(), Intersection(), j, kFALSE, and X.

Referenced by ProcessEvent().

void TGLSurfacePainter::DrawSectionXOY (  )  const [private, virtual]

Implements TGLPlotPainter.

Definition at line 956 of file TGLSurfacePainter.cxx.

References dummy, TGLPlotPainter::fCoord, fgRandom, fMesh, fProj, TGLSurfacePainter::Projection_t::fRGBA, fSectionPass, TGLSurfacePainter::Projection_t::fVertices, fXOYProj, TGLPlotPainter::fXOYSectionPos, TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), GL_LINES, glBegin(), glColor3d(), glEnd(), glLineWidth(), glVertex3dv(), i, TRandom::Integer(), Intersection(), j, kFALSE, line, TMath::Max(), TMath::Min(), and v1.

Referenced by ProcessEvent().

void TGLSurfacePainter::ClampZ ( Double_t zVal  )  const [private]

Definition at line 1053 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, TGLPlotBox::Get3DBox(), TGLPlotCoordinates::GetZLog(), TGLPlotCoordinates::GetZScale(), TMath::Log10(), TGLVertex3::Z(), and Z.

Referenced by GenTexMap(), InitGeometryCartesian(), and InitGeometryPolar().

char * TGLSurfacePainter::WindowPointTo3DPoint ( Int_t  px,
Int_t  py 
) const [private]

Definition at line 1073 of file TGLSurfacePainter.cxx.

References TGLVertex3::CArr(), TString::Data(), TGLPlotPainter::fCamera, TGLPlotPainter::fCoord, fMesh, fObjectInfo, TString::Form(), TGLPlotPainter::fSelectedPart, TGLPlotPainter::fSelectionBase, TGLPlotCamera::GetHeight(), TGLPlotCoordinates::GetNYBins(), TGLPlotCoordinates::GetXScale(), TGLPlotCoordinates::GetYScale(), TGLPlotCoordinates::GetZScale(), GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX, GL_VIEWPORT, glGetDoublev(), glGetIntegerv(), i, j, k, TMath::Normal2Plane(), v1, TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by GetPlotInfo().

Bool_t TGLSurfacePainter::PreparePalette (  )  const [private]

Definition at line 1124 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fHist, fMinMaxVal, fPalette, fUpdateTexMap, TGLLevelPalette::GeneratePalette(), GenTexMap(), TStyle::GetNumberContours(), gStyle, kFALSE, kTRUE, TH1::kUserContour, TObject::ResetBit(), and TObject::TestBit().

Referenced by DrawPlot().

void TGLSurfacePainter::GenTexMap (  )  const [private]

Definition at line 1152 of file TGLSurfacePainter.cxx.

References ClampZ(), TGLPlotPainter::fCoord, TGLPlotPainter::fHist, fPalette, fTexMap, TH1::GetCellContent(), TGLPlotCoordinates::GetCoordType(), TGLPlotCoordinates::GetFirstXBin(), TGLPlotCoordinates::GetFirstYBin(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), TGLLevelPalette::GetTexCoord(), i, j, and kGLCartesian.

Referenced by PreparePalette().

void TGLSurfacePainter::DrawContoursProjection (  )  const [private]

Definition at line 1172 of file TGLSurfacePainter.cxx.

References Rgl::DrawFaceTextured(), TGLPlotPainter::fBackBox, TGLPlotPainter::fCoord, fMesh, fTexMap, TGLPlotBox::Get3DBox(), TGLPlotCoordinates::GetNXBins(), TGLPlotCoordinates::GetNYBins(), GL_DIFFUSE, GL_FRONT_AND_BACK, glMaterialfv(), i, j, and TGLVertex3::Z().

Referenced by DrawPlot().

Bool_t TGLSurfacePainter::Textured (  )  const [private]

Definition at line 1190 of file TGLSurfacePainter.cxx.

References fType, kFALSE, kSurf1, kSurf2, kSurf3, kSurf5, and kTRUE.

Referenced by DrawPlot(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), and InitGeometrySpherical().

Bool_t TGLSurfacePainter::HasSections (  )  const [private]

Definition at line 1206 of file TGLSurfacePainter.cxx.

References TGLPlotPainter::fBackBox, TGLPlotPainter::fXOYSectionPos, TGLPlotPainter::fXOZSectionPos, TGLPlotPainter::fYOZSectionPos, TGLPlotBox::Get3DBox(), TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().

Referenced by DrawPlot(), and ProcessEvent().

Bool_t TGLSurfacePainter::HasProjections (  )  const [private]

Definition at line 1214 of file TGLSurfacePainter.cxx.

References fXOYProj, fXOZProj, and fYOZProj.

Referenced by DrawPlot(), and ProcessEvent().

void TGLSurfacePainter::DrawPalette (  )  const [private]

Definition at line 1221 of file TGLSurfacePainter.cxx.

References TGLPlotCamera::Apply(), Rgl::DrawPalette(), TGLPlotPainter::fCamera, TGLPlotPainter::fPadPhi, TGLPlotPainter::fPadTheta, fPalette, glFinish(), and TGLPlotCamera::SetCamera().

Referenced by DrawPlot().

void TGLSurfacePainter::DrawPaletteAxis (  )  const [private, virtual]

Reimplemented from TGLPlotPainter.

Definition at line 1240 of file TGLSurfacePainter.cxx.

References Rgl::DrawPaletteAxis(), TGLPlotPainter::fCamera, TGLPlotPainter::fCoord, fMinMaxVal, TGLPlotCoordinates::GetCoordType(), TGLPlotCoordinates::GetZLog(), gVirtualX, TVirtualX::kCopy, kFALSE, and kGLCartesian.

char* TGLSurfacePainter::GetPlotInfo ( Int_t  px,
Int_t  py 
) [virtual]

Implements TVirtualGLPainter.

Bool_t TGLSurfacePainter::InitGeometry (  )  [virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::StartPan ( Int_t  px,
Int_t  py 
) [virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::Pan ( Int_t  px,
Int_t  py 
) [virtual]

Implements TVirtualGLPainter.

void TGLSurfacePainter::AddOption ( const TString stringOption  )  [virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::ProcessEvent ( Int_t  event,
Int_t  px,
Int_t  py 
) [virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::InitGL (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::DeInitGL (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::DrawPlot (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::SetNormals (  )  [private]

void TGLSurfacePainter::SetSurfaceColor (  )  const [private]

Bool_t TGLSurfacePainter::InitGeometryCartesian (  )  [private]

Bool_t TGLSurfacePainter::InitGeometryPolar (  )  [private]

Bool_t TGLSurfacePainter::InitGeometryCylindrical (  )  [private]

Bool_t TGLSurfacePainter::InitGeometrySpherical (  )  [private]

void TGLSurfacePainter::DrawProjections (  )  const [private]

void TGLSurfacePainter::DrawSectionXOZ (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::DrawSectionYOZ (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::DrawSectionXOY (  )  const [private, virtual]

Implements TGLPlotPainter.

void TGLSurfacePainter::ClampZ ( Double_t zVal  )  const [private]

char* TGLSurfacePainter::WindowPointTo3DPoint ( Int_t  px,
Int_t  py 
) const [private]

Bool_t TGLSurfacePainter::PreparePalette (  )  const [private]

void TGLSurfacePainter::GenTexMap (  )  const [private]

void TGLSurfacePainter::DrawContoursProjection (  )  const [private]

Bool_t TGLSurfacePainter::Textured (  )  const [private]

Bool_t TGLSurfacePainter::HasSections (  )  const [private]

Bool_t TGLSurfacePainter::HasProjections (  )  const [private]

void TGLSurfacePainter::DrawPalette (  )  const [private]

void TGLSurfacePainter::DrawPaletteAxis (  )  const [private, virtual]

Reimplemented from TGLPlotPainter.


Member Data Documentation

ESurfaceType TGLSurfacePainter::fType [mutable, private]

Definition at line 41 of file TGLSurfacePainter.h.

Referenced by AddOption(), DrawPlot(), InitGeometryCylindrical(), InitGeometrySpherical(), SetSurfaceColor(), and Textured().

TGL2DArray<TGLVertex3> TGLSurfacePainter::fMesh [private]

Definition at line 43 of file TGLSurfacePainter.h.

Referenced by DrawContoursProjection(), DrawPlot(), DrawSectionXOY(), DrawSectionXOZ(), DrawSectionYOZ(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), SetNormals(), and WindowPointTo3DPoint().

TGL2DArray<Double_t> TGLSurfacePainter::fTexMap [mutable, private]

Definition at line 44 of file TGLSurfacePainter.h.

Referenced by DrawContoursProjection(), DrawPlot(), and GenTexMap().

TGL2DArray<std::pair<TGLVector3, TGLVector3> > TGLSurfacePainter::fFaceNormals [private]

Definition at line 45 of file TGLSurfacePainter.h.

Referenced by SetNormals().

TGL2DArray<TGLVector3> TGLSurfacePainter::fAverageNormals [private]

Definition at line 46 of file TGLSurfacePainter.h.

Referenced by DrawPlot(), and SetNormals().

TString TGLSurfacePainter::fObjectInfo [mutable, private]

Definition at line 48 of file TGLSurfacePainter.h.

Referenced by WindowPointTo3DPoint().

Projection_t TGLSurfacePainter::fProj [mutable, private]

Definition at line 56 of file TGLSurfacePainter.h.

Referenced by DrawSectionXOY(), DrawSectionXOZ(), and DrawSectionYOZ().

std::list<Projection_t> TGLSurfacePainter::fXOZProj [mutable, private]

Definition at line 58 of file TGLSurfacePainter.h.

Referenced by DrawProjections(), DrawSectionXOZ(), HasProjections(), and ProcessEvent().

std::list<Projection_t> TGLSurfacePainter::fYOZProj [mutable, private]

Definition at line 59 of file TGLSurfacePainter.h.

Referenced by DrawProjections(), DrawSectionYOZ(), HasProjections(), and ProcessEvent().

std::list<Projection_t> TGLSurfacePainter::fXOYProj [mutable, private]

Definition at line 60 of file TGLSurfacePainter.h.

Referenced by DrawProjections(), DrawSectionXOY(), HasProjections(), and ProcessEvent().

TGLLevelPalette TGLSurfacePainter::fPalette [mutable, private]

Definition at line 62 of file TGLSurfacePainter.h.

Referenced by DrawPalette(), DrawPlot(), GenTexMap(), and PreparePalette().

std::vector<Double_t> TGLSurfacePainter::fColorLevels [mutable, private]

Definition at line 63 of file TGLSurfacePainter.h.

Rgl::Range_t TGLSurfacePainter::fMinMaxVal [private]

Definition at line 64 of file TGLSurfacePainter.h.

Referenced by DrawPaletteAxis(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), and PreparePalette().

Bool_t TGLSurfacePainter::fSectionPass [private]

Definition at line 66 of file TGLSurfacePainter.h.

Referenced by DrawSectionXOY(), DrawSectionXOZ(), DrawSectionYOZ(), and ProcessEvent().

Bool_t TGLSurfacePainter::fUpdateTexMap [mutable, private]

Definition at line 67 of file TGLSurfacePainter.h.

Referenced by InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), and PreparePalette().

TRandom* TGLSurfacePainter::fgRandom [static, private]

Definition at line 114 of file TGLSurfacePainter.h.

Referenced by DrawSectionXOY(), DrawSectionXOZ(), and DrawSectionYOZ().

TGL2DArray<TGLVertex3> TGLSurfacePainter::fMesh [private]

Definition at line 43 of file TGLSurfacePainter.h.

TGL2DArray<Double_t> TGLSurfacePainter::fTexMap [mutable, private]

Definition at line 44 of file TGLSurfacePainter.h.

TGL2DArray<std::pair<TGLVector3, TGLVector3> > TGLSurfacePainter::fFaceNormals [private]

Definition at line 45 of file TGLSurfacePainter.h.

TGL2DArray<TGLVector3> TGLSurfacePainter::fAverageNormals [private]

Definition at line 46 of file TGLSurfacePainter.h.

std::list<Projection_t> TGLSurfacePainter::fXOZProj [mutable, private]

Definition at line 58 of file TGLSurfacePainter.h.

std::list<Projection_t> TGLSurfacePainter::fYOZProj [mutable, private]

Definition at line 59 of file TGLSurfacePainter.h.

std::list<Projection_t> TGLSurfacePainter::fXOYProj [mutable, private]

Definition at line 60 of file TGLSurfacePainter.h.

std::vector<Double_t> TGLSurfacePainter::fColorLevels [mutable, private]

Definition at line 63 of file TGLSurfacePainter.h.

TRandom* TGLSurfacePainter::fgRandom [static, private]

Definition at line 114 of file TGLSurfacePainter.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:40:15 2011 for ROOT_528-00b_version by  doxygen 1.5.1