Implements painting of TH2 with "SURF" option.
Definition at line 24 of file TGLSurfacePainter.h.
Classes | |
struct | Projection_t |
Public Member Functions | |
TGLSurfacePainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
Constructor. More... | |
void | AddOption (const TString &stringOption) |
Additional options for surfaces. 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 | Pan (Int_t px, Int_t py) |
User's moving mouse cursor, with middle mouse button pressed (for pad). More... | |
void | ProcessEvent (Int_t event, Int_t px, Int_t py) |
Remove all profiles/sections. More... | |
void | StartPan (Int_t px, Int_t py) |
User clicks right mouse button (in a pad). More... | |
Public Member Functions inherited from TGLPlotPainter | |
TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
TGLPlotPainter's ctor. More... | |
TGLPlotPainter (TGLPlotCamera *camera) | |
TGLPlotPainter's ctor. More... | |
TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable) | |
TGLPlotPainter's ctor. More... | |
virtual void | AddOption (const TString &stringOption)=0 |
Bool_t | CutAxisSelected () const |
virtual void | DeInitGL () const =0 |
virtual void | DrawPlot () const =0 |
Bool_t | GetDrawAxes () |
virtual Bool_t | InitGeometry ()=0 |
virtual void | InitGL () const =0 |
void | InvalidateSelection () |
Selection must be updated. More... | |
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... | |
virtual void | ProcessEvent (Int_t event, Int_t px, Int_t py)=0 |
const TGLPlotBox & | RefBackBox () const |
void | SetDrawAxes (Bool_t s) |
void | SetDrawBackBox (Bool_t b) |
void | SetDrawFrontBox (Bool_t b) |
virtual void | SetFrameColor (const TColor *frameColor) |
Set plot's back box color. More... | |
void | SetPadColor (const TColor *color) |
Used in a pad. More... | |
void | SetPhysicalShapeColor (const Float_t *rgba) |
virtual void | StartPan (Int_t px, Int_t py)=0 |
Public Member Functions inherited from TVirtualGLPainter | |
virtual | ~TVirtualGLPainter () |
virtual char * | GetPlotInfo (Int_t px, Int_t py)=0 |
virtual void | Paint ()=0 |
virtual void | Pan (Int_t px, Int_t py)=0 |
virtual Bool_t | PlotSelected (Int_t px, Int_t py)=0 |
Private Types | |
enum | ESurfaceType { kSurf , kSurf1 , kSurf2 , kSurf3 , kSurf4 , kSurf5 } |
Private Member Functions | |
void | ClampZ (Double_t &zVal) const |
Clamp z value. More... | |
void | DeInitGL () const |
Initialize some OpenGL state variables. More... | |
void | DrawContoursProjection () const |
Draw flat textured surface. More... | |
void | DrawPalette () const |
Draw. More... | |
void | DrawPaletteAxis () const |
Draw. Palette. Axis. More... | |
void | DrawPlot () const |
Draw surf/surf1/surf2/surf4. More... | |
void | DrawProjections () const |
Draw projections. More... | |
void | DrawSectionXOY () const |
Draw section Z. More... | |
void | DrawSectionXOZ () const |
Draw section X. More... | |
void | DrawSectionYOZ () const |
Draw section Y. More... | |
void | GenTexMap () const |
Find texture coordinates. More... | |
Bool_t | HasProjections () const |
Any projection exists. More... | |
Bool_t | HasSections () const |
Any section exists. More... | |
Bool_t | InitGeometryCartesian () |
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 | InitGeometryPolar () |
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 | InitGL () const |
Initialize some OpenGL state variables. More... | |
Bool_t | PreparePalette () const |
Generate palette. 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 | Textured () const |
Checks, if surf requires texture. More... | |
char * | WindowPointTo3DPoint (Int_t px, Int_t py) const |
Find 3d coords using mouse cursor coords. More... | |
Private Attributes | |
TGL2DArray< TGLVector3 > | fAverageNormals |
std::vector< Double_t > | fColorLevels |
TGL2DArray< std::pair< TGLVector3, TGLVector3 > > | fFaceNormals |
TGL2DArray< TGLVertex3 > | fMesh |
Rgl::Range_t | fMinMaxVal |
TString | fObjectInfo |
TGLLevelPalette | fPalette |
Projection_t | fProj |
Bool_t | fSectionPass |
TGL2DArray< Double_t > | fTexMap |
ESurfaceType | fType |
Bool_t | fUpdateTexMap |
std::list< Projection_t > | fXOYProj |
std::list< Projection_t > | fXOZProj |
std::list< Projection_t > | fYOZProj |
Static Private Attributes | |
static TRandom * | fgRandom = new TRandom(0) |
#include <TGLSurfacePainter.h>
|
private |
Enumerator | |
---|---|
kSurf | |
kSurf1 | |
kSurf2 | |
kSurf3 | |
kSurf4 | |
kSurf5 |
Definition at line 26 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.
|
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.
|
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.
|
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 |
Draw projections.
Definition at line 778 of file TGLSurfacePainter.cxx.
|
privatevirtual |
|
privatevirtual |
|
privatevirtual |
|
private |
Find texture coordinates.
Definition at line 1163 of file TGLSurfacePainter.cxx.
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.
|
private |
Any section exists.
Definition at line 1220 of file TGLSurfacePainter.cxx.
|
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.
|
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.
|
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.
|
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.
|
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 |
Generate palette.
Definition at line 1134 of file TGLSurfacePainter.cxx.
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.
|
private |
Set color for surface.
Definition at line 313 of file TGLSurfacePainter.cxx.
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.
Find 3d coords using mouse cursor coords.
Definition at line 1087 of file TGLSurfacePainter.cxx.
|
private |
Definition at line 40 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 57 of file TGLSurfacePainter.h.
|
private |
Definition at line 39 of file TGLSurfacePainter.h.
Definition at line 108 of file TGLSurfacePainter.h.
|
private |
Definition at line 37 of file TGLSurfacePainter.h.
|
private |
Definition at line 58 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 42 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 56 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 50 of file TGLSurfacePainter.h.
|
private |
Definition at line 60 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 38 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 35 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 61 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 54 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 52 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 53 of file TGLSurfacePainter.h.