ROOT
6.07/01
Reference Guide
|
Implements painting of TH2 with "SURF" option.
Definition at line 30 of file TGLSurfacePainter.h.
Classes | |
struct | Projection_t |
Public Member Functions | |
TGLSurfacePainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
Constructor. More... | |
char * | GetPlotInfo (Int_t px, Int_t py) |
Coords for point on surface under cursor. More... | |
Bool_t | InitGeometry () |
Set mesh, normals. More... | |
void | StartPan (Int_t px, Int_t py) |
User clicks right mouse button (in a pad). More... | |
void | Pan (Int_t px, Int_t py) |
User's moving mouse cursor, with middle mouse button pressed (for pad). More... | |
void | AddOption (const TString &stringOption) |
Additional options for surfaces. More... | |
void | ProcessEvent (Int_t event, Int_t px, Int_t py) |
Remove all profiles/sections. More... | |
Public Member Functions inherited from TGLPlotPainter | |
TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable) | |
TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
TGLPlotPainter's ctor. More... | |
TGLPlotPainter (TGLPlotCamera *camera) | |
TGLPlotPainter's ctor. More... | |
const TGLPlotBox & | RefBackBox () const |
void | SetPhysicalShapeColor (const Float_t *rgba) |
virtual void | Paint () |
Draw lego/surf/whatever you can. More... | |
virtual Bool_t | PlotSelected (Int_t px, Int_t py) |
Read color buffer content to find selected object. More... | |
void | SetPadColor (const TColor *color) |
Used in a pad. More... | |
virtual void | SetFrameColor (const TColor *frameColor) |
Set plot's back box color. More... | |
void | InvalidateSelection () |
Selection must be updated. More... | |
Bool_t | CutAxisSelected () const |
void | SetDrawFrontBox (Bool_t b) |
void | SetDrawBackBox (Bool_t b) |
void | SetDrawAxes (Bool_t s) |
Bool_t | GetDrawAxes () |
Public Member Functions inherited from TVirtualGLPainter | |
virtual | ~TVirtualGLPainter () |
ClassDef (TVirtualGLPainter, 0) | |
Private Types | |
enum | ESurfaceType { kSurf, kSurf1, kSurf2, kSurf3, kSurf4, kSurf5 } |
Private Member Functions | |
void | InitGL () const |
Initialize some OpenGL state variables. More... | |
void | DeInitGL () const |
Initialize some OpenGL state variables. More... | |
void | DrawPlot () const |
Draw surf/surf1/surf2/surf4. More... | |
void | SetNormals () |
One normal per vertex; this normal is average of neighbouring triangles normals. More... | |
void | SetSurfaceColor () const |
Set color for surface. More... | |
Bool_t | InitGeometryCartesian () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. More... | |
Bool_t | InitGeometryPolar () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. More... | |
Bool_t | InitGeometryCylindrical () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. More... | |
Bool_t | InitGeometrySpherical () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. More... | |
void | DrawProjections () const |
Draw projections. More... | |
void | DrawSectionXOZ () const |
Draw section X. More... | |
void | DrawSectionYOZ () const |
Draw section Y. More... | |
void | DrawSectionXOY () const |
Draw section Z. More... | |
void | ClampZ (Double_t &zVal) const |
Clamp z value. More... | |
char * | WindowPointTo3DPoint (Int_t px, Int_t py) const |
Find 3d coords using mouse cursor coords. More... | |
Bool_t | PreparePalette () const |
Generate palette. More... | |
void | GenTexMap () const |
Find texture coordinates. More... | |
void | DrawContoursProjection () const |
Draw flat textured surface. More... | |
Bool_t | Textured () const |
Checks, if surf requires texture. More... | |
Bool_t | HasSections () const |
Any section exists. More... | |
Bool_t | HasProjections () const |
Any projection exists. More... | |
void | DrawPalette () const |
Draw. More... | |
void | DrawPaletteAxis () const |
Draw. Palette. Axis. More... | |
Private Attributes | |
ESurfaceType | fType |
TGL2DArray< TGLVertex3 > | fMesh |
TGL2DArray< Double_t > | fTexMap |
TGL2DArray< std::pair < TGLVector3, TGLVector3 > > | fFaceNormals |
TGL2DArray< TGLVector3 > | fAverageNormals |
TString | fObjectInfo |
Projection_t | fProj |
std::list< Projection_t > | fXOZProj |
std::list< Projection_t > | fYOZProj |
std::list< Projection_t > | fXOYProj |
TGLLevelPalette | fPalette |
std::vector< Double_t > | fColorLevels |
Rgl::Range_t | fMinMaxVal |
Bool_t | fSectionPass |
Bool_t | fUpdateTexMap |
Static Private Attributes | |
static TRandom * | fgRandom |
#include <TGLSurfacePainter.h>
|
private |
Enumerator | |
---|---|
kSurf | |
kSurf1 | |
kSurf2 | |
kSurf3 | |
kSurf4 | |
kSurf5 |
Definition at line 32 of file TGLSurfacePainter.h.
TGLSurfacePainter::TGLSurfacePainter | ( | TH1 * | hist, |
TGLPlotCamera * | camera, | ||
TGLPlotCoordinates * | coord | ||
) |
Constructor.
Definition at line 57 of file TGLSurfacePainter.cxx.
Additional options for surfaces.
Implements TGLPlotPainter.
Definition at line 159 of file TGLSurfacePainter.cxx.
Clamp z value.
Definition at line 1066 of file TGLSurfacePainter.cxx.
Referenced by GenTexMap(), InitGeometryCartesian(), and InitGeometryPolar().
|
privatevirtual |
Initialize some OpenGL state variables.
Implements TGLPlotPainter.
Definition at line 249 of file TGLSurfacePainter.cxx.
|
private |
Draw flat textured surface.
Definition at line 1184 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot().
|
private |
Draw.
Palette. Originally, fCamera was never null. It can be a null now because of gl-viewer.
Definition at line 1239 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot().
|
privatevirtual |
Draw. Palette. Axis.
Reimplemented from TGLPlotPainter.
Definition at line 1257 of file TGLSurfacePainter.cxx.
|
privatevirtual |
Draw surf/surf1/surf2/surf4.
Implements TGLPlotPainter.
Definition at line 330 of file TGLSurfacePainter.cxx.
|
private |
|
privatevirtual |
Draw section Z.
Implements TGLPlotPainter.
Definition at line 969 of file TGLSurfacePainter.cxx.
Referenced by ProcessEvent().
|
privatevirtual |
Draw section X.
Implements TGLPlotPainter.
Definition at line 867 of file TGLSurfacePainter.cxx.
Referenced by ProcessEvent().
|
privatevirtual |
Draw section Y.
Implements TGLPlotPainter.
Definition at line 918 of file TGLSurfacePainter.cxx.
Referenced by ProcessEvent().
|
private |
Find texture coordinates.
Definition at line 1163 of file TGLSurfacePainter.cxx.
Referenced by PreparePalette().
Coords for point on surface under cursor.
Implements TVirtualGLPainter.
Definition at line 68 of file TGLSurfacePainter.cxx.
|
private |
Any projection exists.
Definition at line 1229 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot(), and ProcessEvent().
|
private |
Any section exists.
Definition at line 1220 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot(), and ProcessEvent().
|
virtual |
|
private |
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.
Definition at line 495 of file TGLSurfacePainter.cxx.
Referenced by InitGeometry().
|
private |
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.
Definition at line 630 of file TGLSurfacePainter.cxx.
Referenced by InitGeometry().
|
private |
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.
Definition at line 563 of file TGLSurfacePainter.cxx.
Referenced by InitGeometry().
|
private |
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.
Definition at line 703 of file TGLSurfacePainter.cxx.
Referenced by InitGeometry().
|
privatevirtual |
Initialize some OpenGL state variables.
Implements TGLPlotPainter.
Definition at line 237 of file TGLSurfacePainter.cxx.
User's moving mouse cursor, with middle mouse button pressed (for pad).
Calculate 3d shift related to 2d mouse movement.
Implements TVirtualGLPainter.
Definition at line 116 of file TGLSurfacePainter.cxx.
|
private |
Remove all profiles/sections.
Implements TGLPlotPainter.
Definition at line 196 of file TGLSurfacePainter.cxx.
|
private |
One normal per vertex; this normal is average of neighbouring triangles normals.
Definition at line 264 of file TGLSurfacePainter.cxx.
Referenced by InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), and InitGeometrySpherical().
|
private |
Set color for surface.
Definition at line 313 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot().
User clicks right mouse button (in a pad).
Implements TGLPlotPainter.
Definition at line 104 of file TGLSurfacePainter.cxx.
|
private |
Checks, if surf requires texture.
Definition at line 1203 of file TGLSurfacePainter.cxx.
Referenced by DrawPlot(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), and InitGeometrySpherical().
Find 3d coords using mouse cursor coords.
Definition at line 1087 of file TGLSurfacePainter.cxx.
Referenced by GetPlotInfo().
|
private |
Definition at line 46 of file TGLSurfacePainter.h.
Referenced by DrawPlot(), and SetNormals().
|
mutableprivate |
Definition at line 63 of file TGLSurfacePainter.h.
|
private |
Definition at line 45 of file TGLSurfacePainter.h.
Referenced by SetNormals().
|
staticprivate |
Definition at line 114 of file TGLSurfacePainter.h.
Referenced by DrawSectionXOY(), DrawSectionXOZ(), and DrawSectionYOZ().
|
private |
Definition at line 43 of file TGLSurfacePainter.h.
Referenced by DrawContoursProjection(), DrawPlot(), DrawSectionXOY(), DrawSectionXOZ(), DrawSectionYOZ(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), SetNormals(), and WindowPointTo3DPoint().
|
private |
Definition at line 64 of file TGLSurfacePainter.h.
Referenced by DrawPaletteAxis(), InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), and PreparePalette().
|
mutableprivate |
Definition at line 48 of file TGLSurfacePainter.h.
Referenced by WindowPointTo3DPoint().
|
mutableprivate |
Definition at line 62 of file TGLSurfacePainter.h.
Referenced by DrawPalette(), DrawPlot(), GenTexMap(), and PreparePalette().
|
mutableprivate |
Definition at line 56 of file TGLSurfacePainter.h.
Referenced by DrawSectionXOY(), DrawSectionXOZ(), and DrawSectionYOZ().
|
private |
Definition at line 66 of file TGLSurfacePainter.h.
Referenced by DrawSectionXOY(), DrawSectionXOZ(), DrawSectionYOZ(), and ProcessEvent().
|
mutableprivate |
Definition at line 44 of file TGLSurfacePainter.h.
Referenced by DrawContoursProjection(), DrawPlot(), and GenTexMap().
|
mutableprivate |
Definition at line 41 of file TGLSurfacePainter.h.
Referenced by AddOption(), DrawPlot(), InitGeometryCylindrical(), InitGeometrySpherical(), SetSurfaceColor(), and Textured().
|
mutableprivate |
Definition at line 67 of file TGLSurfacePainter.h.
Referenced by InitGeometryCartesian(), InitGeometryCylindrical(), InitGeometryPolar(), InitGeometrySpherical(), and PreparePalette().
|
mutableprivate |
Definition at line 60 of file TGLSurfacePainter.h.
Referenced by DrawProjections(), DrawSectionXOY(), HasProjections(), and ProcessEvent().
|
mutableprivate |
Definition at line 58 of file TGLSurfacePainter.h.
Referenced by DrawProjections(), DrawSectionXOZ(), HasProjections(), and ProcessEvent().
|
mutableprivate |
Definition at line 59 of file TGLSurfacePainter.h.
Referenced by DrawProjections(), DrawSectionYOZ(), HasProjections(), and ProcessEvent().