Implements painting of TH2 with "SURF" option.
Definition at line 25 of file TGLSurfacePainter.h.
Classes | |
struct | Projection_t |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
![]() | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
![]() | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Private Types | |
enum | ESurfaceType { kSurf , kSurf1 , kSurf2 , kSurf3 , kSurf4 , kSurf5 } |
Private Member Functions | |
void | ClampZ (Double_t &zVal) const |
Clamp z value. | |
void | DeInitGL () const override |
Initialize some OpenGL state variables. | |
void | DrawContoursProjection () const |
Draw flat textured surface. | |
void | DrawPalette () const |
Draw. | |
void | DrawPaletteAxis () const override |
Draw. Palette. Axis. | |
void | DrawPlot () const override |
Draw surf/surf1/surf2/surf4. | |
void | DrawProjections () const |
Draw projections. | |
void | DrawSectionXOY () const override |
Draw section Z. | |
void | DrawSectionXOZ () const override |
Draw section X. | |
void | DrawSectionYOZ () const override |
Draw section Y. | |
void | GenTexMap () const |
Find texture coordinates. | |
Bool_t | HasProjections () const |
Any projection exists. | |
Bool_t | HasSections () const |
Any section exists. | |
Bool_t | InitGeometryCartesian () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. | |
Bool_t | InitGeometryCylindrical () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. | |
Bool_t | InitGeometryPolar () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. | |
Bool_t | InitGeometrySpherical () |
Find bin ranges for X and Y axes, axes ranges for X, Y and Z. | |
void | InitGL () const override |
Initialize some OpenGL state variables. | |
Bool_t | PreparePalette () const |
Generate palette. | |
void | SetNormals () |
One normal per vertex; this normal is average of neighbouring triangles normals. | |
void | SetSurfaceColor () const |
Set color for surface. | |
Bool_t | Textured () const |
Checks, if surf requires texture. | |
char * | WindowPointTo3DPoint (Int_t px, Int_t py) const |
Find 3d coords using mouse cursor coords. | |
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 27 of file TGLSurfacePainter.h.
TGLSurfacePainter::TGLSurfacePainter | ( | TH1 * | hist, |
TGLPlotCamera * | camera, | ||
TGLPlotCoordinates * | coord ) |
Constructor.
Definition at line 54 of file TGLSurfacePainter.cxx.
Additional options for surfaces.
Implements TGLPlotPainter.
Definition at line 156 of file TGLSurfacePainter.cxx.
|
private |
Clamp z value.
Definition at line 1059 of file TGLSurfacePainter.cxx.
Definition at line 111 of file TGLSurfacePainter.h.
Definition at line 111 of file TGLSurfacePainter.h.
|
overrideprivatevirtual |
Initialize some OpenGL state variables.
Implements TGLPlotPainter.
Definition at line 245 of file TGLSurfacePainter.cxx.
|
private |
Draw flat textured surface.
Definition at line 1177 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 1232 of file TGLSurfacePainter.cxx.
|
overrideprivatevirtual |
Draw. Palette. Axis.
Reimplemented from TGLPlotPainter.
Definition at line 1250 of file TGLSurfacePainter.cxx.
|
overrideprivatevirtual |
Draw surf/surf1/surf2/surf4.
Implements TGLPlotPainter.
Definition at line 326 of file TGLSurfacePainter.cxx.
|
private |
Draw projections.
Definition at line 774 of file TGLSurfacePainter.cxx.
|
overrideprivatevirtual |
|
overrideprivatevirtual |
|
overrideprivatevirtual |
|
private |
Find texture coordinates.
Definition at line 1156 of file TGLSurfacePainter.cxx.
Coords for point on surface under cursor.
Implements TVirtualGLPainter.
Definition at line 65 of file TGLSurfacePainter.cxx.
|
private |
Any projection exists.
Definition at line 1222 of file TGLSurfacePainter.cxx.
|
private |
Any section exists.
Definition at line 1213 of file TGLSurfacePainter.cxx.
|
overridevirtual |
|
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 491 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 626 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 559 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 699 of file TGLSurfacePainter.cxx.
|
overrideprivatevirtual |
Initialize some OpenGL state variables.
Implements TGLPlotPainter.
Definition at line 233 of file TGLSurfacePainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TGLPlotPainter.
Definition at line 111 of file TGLSurfacePainter.h.
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 113 of file TGLSurfacePainter.cxx.
|
private |
Generate palette.
Definition at line 1127 of file TGLSurfacePainter.cxx.
Remove all profiles/sections.
Implements TGLPlotPainter.
Definition at line 192 of file TGLSurfacePainter.cxx.
|
private |
One normal per vertex; this normal is average of neighbouring triangles normals.
Definition at line 260 of file TGLSurfacePainter.cxx.
|
private |
Set color for surface.
Definition at line 309 of file TGLSurfacePainter.cxx.
User clicks right mouse button (in a pad).
Implements TGLPlotPainter.
Definition at line 101 of file TGLSurfacePainter.cxx.
|
overridevirtual |
Reimplemented from TGLPlotPainter.
|
inline |
Definition at line 111 of file TGLSurfacePainter.h.
|
private |
Checks, if surf requires texture.
Definition at line 1196 of file TGLSurfacePainter.cxx.
Find 3d coords using mouse cursor coords.
Definition at line 1080 of file TGLSurfacePainter.cxx.
|
private |
Definition at line 41 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 58 of file TGLSurfacePainter.h.
|
private |
Definition at line 40 of file TGLSurfacePainter.h.
Definition at line 109 of file TGLSurfacePainter.h.
|
private |
Definition at line 38 of file TGLSurfacePainter.h.
|
private |
Definition at line 59 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 43 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 57 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 51 of file TGLSurfacePainter.h.
|
private |
Definition at line 61 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 39 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 36 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 62 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 55 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 53 of file TGLSurfacePainter.h.
|
mutableprivate |
Definition at line 54 of file TGLSurfacePainter.h.