1 #ifndef ROOT_TGLH2PolyPainter
2 #define ROOT_TGLH2PolyPainter
7 #ifndef ROOT_TGLPlotPainter
10 #ifndef ROOT_TGLPadUtils
43 typedef std::list<Rgl::Pad::Tesselation_t>::const_iterator
CIter_t;
71 std::list<Rgl::Pad::Tesselation_t>
fCaps;
Camera for TGLPlotPainter and sub-classes.
char * GetPlotInfo(Int_t px, Int_t py)
Show number of bin and bin contents, if bin is under the cursor.
void DrawExtrusion() const
Extruded part of bins.
void DrawPlot() const
Draw extruded polygons and plot's frame.
std::vector< Int_t > fBinColors
A TMultiGraph is a collection of TGraph (or derived) objects.
void DrawSectionXOY() const
No sections.
void InitGL() const
Initialize some gl state variables.
void DrawCaps() const
Caps on bins.
void DrawPalette() const
Not yet.
void DrawPaletteAxis() const
Not yet.
TGLH2PolyPainter(TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
TGLViewer::ECameraType camera
Bool_t CacheGeometry()
Cache all data for TH2Poly object.
void DrawSectionYOZ() const
No sections.
void SetBinColor(Int_t bin) const
Set bin's color.
ClassDef(TGLH2PolyPainter, 0)
std::list< Rgl::Pad::Tesselation_t >::const_iterator CIter_t
Bool_t ClampZ(Double_t &zVal) const
Clamp z value.
Bool_t UpdateGeometry()
Update cap's z-coordinates for all caps.
void StartPan(Int_t px, Int_t py)
User clicks on a lego with middle mouse button (middle for pad).
void AddOption(const TString &stringOption)
No additional options.
Bool_t BuildTesselation(Rgl::Pad::Tesselator &tess, const TGraph *g, Double_t z)
Tesselate a polygon described by TGraph.
Helper class for plot-painters holding information about axis ranges, numbers of bins and flags if ce...
void DrawCap(CIter_t cap, Int_t bin) const
Draw a cap on top of a bin.
void Pan(Int_t px, Int_t py)
Mouse events handler.
Base class for plot-painters that provide GL rendering of various 2D and 3D histograms, functions and parametric surfaces.
void MakePolygonCCW() const
Code taken from the original TH2Poly.
std::vector< Double_t > fPolygon
void DrawSectionXOZ() const
No sections.
Bool_t InitGeometry()
Tesselate polygons, if not done yet.
void ProcessEvent(Int_t event, Int_t px, Int_t py)
No events.
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.
A Graph is a graphics object made of two arrays X and Y with npoints each.
std::list< Rgl::Pad::Tesselation_t > fCaps
void DeInitGL() const
Return some gl states to original values.