12 #ifndef ROOT_TGLLegoPainter
13 #define ROOT_TGLLegoPainter
28 class TGLLegoPainter :
public TGLPlotPainter {
37 mutable ELegoType fLegoType;
39 Rgl::Range_t fMinMaxVal;
41 std::vector<Rgl::Range_t> fXEdges;
42 std::vector<Rgl::Range_t> fYEdges;
44 typedef std::pair<Double_t, Double_t> CosSin_t;
45 std::vector<CosSin_t> fCosSinTableX;
46 std::vector<CosSin_t> fCosSinTableY;
48 mutable TGLQuadric fQuadric;
51 mutable TGLLevelPalette fPalette;
52 mutable std::vector<Double_t> fColorLevels;
54 TGLLegoPainter(
const TGLLegoPainter &);
55 TGLLegoPainter &operator = (
const TGLLegoPainter &);
58 TGLLegoPainter(TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord);
61 char *GetPlotInfo(Int_t px, Int_t py);
62 Bool_t InitGeometry();
63 void StartPan(Int_t px, Int_t py);
64 void Pan(Int_t px, Int_t py);
65 void AddOption(
const TString &stringOption);
66 void ProcessEvent(Int_t event, Int_t px, Int_t py);
70 Bool_t InitGeometryCartesian();
71 Bool_t InitGeometryPolar();
72 Bool_t InitGeometryCylindrical();
73 Bool_t InitGeometrySpherical();
80 void DrawLegoCartesian()
const;
81 void DrawLegoPolar()
const;
82 void DrawLegoCylindrical()
const;
83 void DrawLegoSpherical()
const;
85 void SetLegoColor()
const;
87 void DrawSectionXOZ()
const;
88 void DrawSectionYOZ()
const;
89 void DrawSectionXOY()
const;
91 Bool_t ClampZ(Double_t &zVal)
const;
92 Bool_t PreparePalette()
const;
94 void DrawPalette()
const;
95 void DrawPaletteAxis()
const;
97 ClassDef(TGLLegoPainter, 0)