Paint TH2Poly.
Definition at line 14 of file TGLH2PolyPainter.h.
Public Member Functions | |
TGLH2PolyPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
Ctor. | |
void | AddOption (const TString &stringOption) override |
No additional options. | |
char * | GetPlotInfo (Int_t px, Int_t py) override |
Show number of bin and bin contents, if bin is under the cursor. | |
Bool_t | InitGeometry () override |
Tesselate polygons, if not done yet. | |
TClass * | IsA () const override |
void | Pan (Int_t px, Int_t py) override |
Mouse events handler. | |
void | ProcessEvent (Int_t event, Int_t px, Int_t py) override |
No events. | |
void | StartPan (Int_t px, Int_t py) override |
User clicks on a lego with middle mouse button (middle for pad). | |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TGLPlotPainter | |
TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
TGLPlotPainter's ctor. | |
TGLPlotPainter (TGLPlotCamera *camera) | |
TGLPlotPainter's ctor. | |
TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable) | |
TGLPlotPainter's ctor. | |
Bool_t | CutAxisSelected () const |
Bool_t | GetDrawAxes () |
void | InvalidateSelection () |
Selection must be updated. | |
TClass * | IsA () const override |
void | Paint () override |
Draw lego/surf/whatever you can. | |
Bool_t | PlotSelected (Int_t px, Int_t py) override |
Read color buffer content to find selected object. | |
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. | |
void | SetPadColor (const TColor *color) |
Used in a pad. | |
void | SetPhysicalShapeColor (const Float_t *rgba) |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TVirtualGLPainter | |
virtual | ~TVirtualGLPainter () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TGLPlotPainter | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TVirtualGLPainter | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Private Types | |
typedef std::list< Rgl::Pad::Tesselation_t >::const_iterator | CIter_t |
Private Member Functions | |
Bool_t | BuildTesselation (Rgl::Pad::Tesselator &tess, const TGraph *g, Double_t z) |
Tesselate a polygon described by TGraph. | |
Bool_t | BuildTesselation (Rgl::Pad::Tesselator &tess, const TMultiGraph *mg, Double_t z) |
Iterate over multi graph contents and tesselate nested TGraphs. | |
Bool_t | CacheGeometry () |
Cache all data for TH2Poly object. | |
Bool_t | ClampZ (Double_t &zVal) const |
Clamp z value. | |
void | DeInitGL () const override |
Return some gl states to original values. | |
void | DrawCap (CIter_t cap, Int_t bin, bool bottomCap) const |
Draw a cap on top of a bin. | |
void | DrawCaps () const |
Caps on bins. | |
void | DrawExtrusion () const |
Extruded part of bins. | |
void | DrawExtrusion (const TGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin) const |
Extrude polygon, described by TGraph. | |
void | DrawExtrusion (const TMultiGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin) const |
Multigraph contains a list of graphs, draw them. | |
void | DrawPalette () const |
Not yet. | |
void | DrawPaletteAxis () const override |
Not yet. | |
void | DrawPlot () const override |
Draw extruded polygons and plot's frame. | |
void | DrawSectionXOY () const override |
No sections. | |
void | DrawSectionXOZ () const override |
No sections. | |
void | DrawSectionYOZ () const override |
No sections. | |
void | FillTemporaryPolygon (const Double_t *xs, const Double_t *ys, Double_t z, Int_t n) const |
Since I probably have to re-orient polygon, I need a temporary polygon. | |
void | InitGL () const override |
Initialize some gl state variables. | |
void | MakePolygonCCW () const |
Code taken from the original TH2Poly. | |
void | SetBinColor (Int_t bin) const |
Set bin's color. | |
Bool_t | UpdateGeometry () |
Update cap's z-coordinates for all caps. | |
Private Attributes | |
std::vector< Int_t > | fBinColors |
TString | fBinInfo |
std::list< Rgl::Pad::Tesselation_t > | fCaps |
std::vector< Double_t > | fPolygon |
Bool_t | fZLog |
Double_t | fZMin |
#include <TGLH2PolyPainter.h>
|
private |
Definition at line 37 of file TGLH2PolyPainter.h.
TGLH2PolyPainter::TGLH2PolyPainter | ( | TH1 * | hist, |
TGLPlotCamera * | camera, | ||
TGLPlotCoordinates * | coord | ||
) |
Ctor.
Definition at line 29 of file TGLH2PolyPainter.cxx.
|
overridevirtual |
No additional options.
Implements TGLPlotPainter.
Definition at line 153 of file TGLH2PolyPainter.cxx.
|
private |
Tesselate a polygon described by TGraph.
Definition at line 445 of file TGLH2PolyPainter.cxx.
|
private |
Iterate over multi graph contents and tesselate nested TGraphs.
Definition at line 483 of file TGLH2PolyPainter.cxx.
|
private |
Cache all data for TH2Poly object.
Definition at line 391 of file TGLH2PolyPainter.cxx.
Clamp z value.
Definition at line 646 of file TGLH2PolyPainter.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 70 of file TGLH2PolyPainter.h.
|
inlinestatic |
Definition at line 70 of file TGLH2PolyPainter.h.
|
overrideprivatevirtual |
Return some gl states to original values.
Implements TGLPlotPainter.
Definition at line 182 of file TGLH2PolyPainter.cxx.
Draw a cap on top of a bin.
Definition at line 343 of file TGLH2PolyPainter.cxx.
|
private |
Caps on bins.
Definition at line 309 of file TGLH2PolyPainter.cxx.
|
private |
Extruded part of bins.
GL_QUADS, GL_QUAD_STRIP - have the same time on my laptop, so I use GL_QUADS and forgot about vertex arrays (can require more memory BTW).
Definition at line 217 of file TGLH2PolyPainter.cxx.
|
private |
Extrude polygon, described by TGraph.
Definition at line 240 of file TGLH2PolyPainter.cxx.
|
private |
Multigraph contains a list of graphs, draw them.
Definition at line 299 of file TGLH2PolyPainter.cxx.
|
private |
Not yet.
Definition at line 600 of file TGLH2PolyPainter.cxx.
|
overrideprivatevirtual |
|
overrideprivatevirtual |
Draw extruded polygons and plot's frame.
Implements TGLPlotPainter.
Definition at line 201 of file TGLH2PolyPainter.cxx.
|
overrideprivatevirtual |
|
overrideprivatevirtual |
|
overrideprivatevirtual |
|
private |
Since I probably have to re-orient polygon, I need a temporary polygon.
Definition at line 614 of file TGLH2PolyPainter.cxx.
Show number of bin and bin contents, if bin is under the cursor.
Implements TVirtualGLPainter.
Definition at line 43 of file TGLH2PolyPainter.cxx.
|
overridevirtual |
Tesselate polygons, if not done yet.
All pointers are validated here (and in functions called from here). If any pointer is invalid - zero, or has unexpected type (dynamic_cast fails) - InitGeometry will return false and nothing will be painted later. That's why there are no checks in other functions.
Implements TGLPlotPainter.
Definition at line 70 of file TGLH2PolyPainter.cxx.
|
overrideprivatevirtual |
Initialize some gl state variables.
Implements TGLPlotPainter.
Definition at line 167 of file TGLH2PolyPainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TVirtualGLPainter.
Definition at line 70 of file TGLH2PolyPainter.h.
|
private |
Code taken from the original TH2Poly.
Definition at line 633 of file TGLH2PolyPainter.cxx.
Mouse events handler.
Implements TVirtualGLPainter.
Definition at line 114 of file TGLH2PolyPainter.cxx.
|
private |
Set bin's color.
Definition at line 556 of file TGLH2PolyPainter.cxx.
User clicks on a lego with middle mouse button (middle for pad).
Implements TGLPlotPainter.
Definition at line 103 of file TGLH2PolyPainter.cxx.
|
overridevirtual |
Reimplemented from TVirtualGLPainter.
|
inline |
Definition at line 70 of file TGLH2PolyPainter.h.
|
private |
Update cap's z-coordinates for all caps.
Here no pointers are checked, this was already done by InitGeometry.
Definition at line 510 of file TGLH2PolyPainter.cxx.
|
private |
Definition at line 62 of file TGLH2PolyPainter.h.
|
private |
Definition at line 60 of file TGLH2PolyPainter.h.
|
private |
Definition at line 65 of file TGLH2PolyPainter.h.
|
mutableprivate |
Definition at line 64 of file TGLH2PolyPainter.h.
|
private |
Definition at line 67 of file TGLH2PolyPainter.h.
|
private |
Definition at line 68 of file TGLH2PolyPainter.h.