Paint TH2Poly.
Definition at line 14 of file TGLH2PolyPainter.h.
Public Member Functions | |
TGLH2PolyPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord) | |
Ctor. More... | |
void | AddOption (const TString &stringOption) |
No additional options. More... | |
char * | GetPlotInfo (Int_t px, Int_t py) |
Show number of bin and bin contents, if bin is under the cursor. More... | |
Bool_t | InitGeometry () |
Tesselate polygons, if not done yet. More... | |
void | Pan (Int_t px, Int_t py) |
Mouse events handler. More... | |
void | ProcessEvent (Int_t event, Int_t px, Int_t py) |
No events. More... | |
void | StartPan (Int_t px, Int_t py) |
User clicks on a lego with middle mouse button (middle for 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 | |
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. More... | |
Bool_t | BuildTesselation (Rgl::Pad::Tesselator &tess, const TMultiGraph *mg, Double_t z) |
Iterate over multi graph contents and tesselate nested TGraphs. More... | |
Bool_t | CacheGeometry () |
Cache all data for TH2Poly object. More... | |
Bool_t | ClampZ (Double_t &zVal) const |
Clamp z value. More... | |
void | DeInitGL () const |
Return some gl states to original values. More... | |
void | DrawCap (CIter_t cap, Int_t bin, bool bottomCap) const |
Draw a cap on top of a bin. More... | |
void | DrawCaps () const |
Caps on bins. More... | |
void | DrawExtrusion () const |
Extruded part of bins. More... | |
void | DrawExtrusion (const TGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin) const |
Extrude polygon, described by TGraph. More... | |
void | DrawExtrusion (const TMultiGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin) const |
Multigraph contains a list of graphs, draw them. More... | |
void | DrawPalette () const |
Not yet. More... | |
void | DrawPaletteAxis () const |
Not yet. More... | |
void | DrawPlot () const |
Draw extruded polygons and plot's frame. More... | |
void | DrawSectionXOY () const |
No sections. More... | |
void | DrawSectionXOZ () const |
No sections. More... | |
void | DrawSectionYOZ () const |
No sections. More... | |
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. More... | |
void | InitGL () const |
Initialize some gl state variables. More... | |
void | MakePolygonCCW () const |
Code taken from the original TH2Poly. More... | |
void | SetBinColor (Int_t bin) const |
Set bin's color. More... | |
Bool_t | UpdateGeometry () |
Update cap's z-coordinates for all caps. More... | |
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 30 of file TGLH2PolyPainter.cxx.
No additional options.
Implements TGLPlotPainter.
Definition at line 154 of file TGLH2PolyPainter.cxx.
|
private |
Tesselate a polygon described by TGraph.
Definition at line 446 of file TGLH2PolyPainter.cxx.
|
private |
Iterate over multi graph contents and tesselate nested TGraphs.
Definition at line 484 of file TGLH2PolyPainter.cxx.
|
private |
Cache all data for TH2Poly object.
Definition at line 392 of file TGLH2PolyPainter.cxx.
Clamp z value.
Definition at line 647 of file TGLH2PolyPainter.cxx.
|
privatevirtual |
Return some gl states to original values.
Implements TGLPlotPainter.
Definition at line 183 of file TGLH2PolyPainter.cxx.
Draw a cap on top of a bin.
Definition at line 344 of file TGLH2PolyPainter.cxx.
|
private |
Caps on bins.
Definition at line 310 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 218 of file TGLH2PolyPainter.cxx.
|
private |
Extrude polygon, described by TGraph.
Definition at line 241 of file TGLH2PolyPainter.cxx.
|
private |
Multigraph contains a list of graphs, draw them.
Definition at line 300 of file TGLH2PolyPainter.cxx.
|
private |
Not yet.
Definition at line 601 of file TGLH2PolyPainter.cxx.
|
privatevirtual |
|
privatevirtual |
Draw extruded polygons and plot's frame.
Implements TGLPlotPainter.
Definition at line 202 of file TGLH2PolyPainter.cxx.
|
privatevirtual |
|
privatevirtual |
|
privatevirtual |
|
private |
Since I probably have to re-orient polygon, I need a temporary polygon.
Definition at line 615 of file TGLH2PolyPainter.cxx.
Show number of bin and bin contents, if bin is under the cursor.
Implements TVirtualGLPainter.
Definition at line 44 of file TGLH2PolyPainter.cxx.
|
virtual |
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 71 of file TGLH2PolyPainter.cxx.
|
privatevirtual |
Initialize some gl state variables.
Implements TGLPlotPainter.
Definition at line 168 of file TGLH2PolyPainter.cxx.
|
private |
Code taken from the original TH2Poly.
Definition at line 634 of file TGLH2PolyPainter.cxx.
Mouse events handler.
Implements TVirtualGLPainter.
Definition at line 115 of file TGLH2PolyPainter.cxx.
Set bin's color.
Definition at line 557 of file TGLH2PolyPainter.cxx.
User clicks on a lego with middle mouse button (middle for pad).
Implements TGLPlotPainter.
Definition at line 104 of file TGLH2PolyPainter.cxx.
|
private |
Update cap's z-coordinates for all caps.
Here no pointers are checked, this was already done by InitGeometry.
Definition at line 511 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.