1 #ifndef ROOT_TGLH2PolyPainter
2 #define ROOT_TGLH2PolyPainter
14 class TGLH2PolyPainter :
public TGLPlotPainter {
16 TGLH2PolyPainter(TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord);
18 char *GetPlotInfo(Int_t px, Int_t py);
19 Bool_t InitGeometry();
20 void StartPan(Int_t px, Int_t py);
21 void Pan(Int_t px, Int_t py);
22 void AddOption(
const TString &stringOption);
23 void ProcessEvent(Int_t event, Int_t px, Int_t py);
32 void DrawExtrusion()
const;
33 void DrawExtrusion(
const TGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin)
const;
34 void DrawExtrusion(
const TMultiGraph *polygon, Double_t zMin, Double_t zMax, Int_t nBin)
const;
37 typedef std::list<Rgl::Pad::Tesselation_t>::const_iterator CIter_t;
39 void DrawCap(CIter_t cap, Int_t bin,
bool bottomCap)
const;
41 Bool_t CacheGeometry();
42 Bool_t BuildTesselation(Rgl::Pad::Tesselator & tess,
const TGraph *g, Double_t z);
43 Bool_t BuildTesselation(Rgl::Pad::Tesselator & tess,
const TMultiGraph *mg, Double_t z);
44 Bool_t UpdateGeometry();
46 void SetBinColor(Int_t bin)
const;
49 void DrawSectionXOZ()
const;
50 void DrawSectionYOZ()
const;
51 void DrawSectionXOY()
const;
52 void DrawPalette()
const;
53 void DrawPaletteAxis()
const;
56 void FillTemporaryPolygon(
const Double_t *xs,
const Double_t *ys, Double_t z, Int_t n)
const;
57 void MakePolygonCCW()
const;
58 Bool_t ClampZ(Double_t &zVal)
const;
62 std::vector<Int_t> fBinColors;
64 mutable std::vector<Double_t> fPolygon;
65 std::list<Rgl::Pad::Tesselation_t> fCaps;
70 ClassDef(TGLH2PolyPainter, 0);