12 #ifndef ROOT_TGLTF3Painter
13 #define ROOT_TGLTF3Painter
29 class TGLTF3Painter :
public TGLPlotPainter {
40 Rgl::Mc::TIsoMesh<Double_t> fMesh;
43 TGLTH3Slice fXOZSlice;
44 TGLTH3Slice fYOZSlice;
45 TGLTH3Slice fXOYSlice;
48 TGLTF3Painter(TF3 *fun, TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord);
50 char *GetPlotInfo(Int_t px, Int_t py);
51 Bool_t InitGeometry();
52 void StartPan(Int_t px, Int_t py);
53 void Pan(Int_t px, Int_t py);
54 void AddOption(
const TString &stringOption);
55 void ProcessEvent(Int_t event, Int_t px, Int_t py);
63 void DrawToSelectionBuffer()
const;
64 void DrawDefaultPlot()
const;
65 void DrawMaplePlot()
const;
68 void SetSurfaceColor()
const;
69 Bool_t HasSections()
const;
71 void DrawSectionXOZ()
const;
72 void DrawSectionYOZ()
const;
73 void DrawSectionXOY()
const;
75 ClassDef(TGLTF3Painter, 0)
85 class TGLIsoPainter :
public TGLPlotPainter {
87 typedef Rgl::Mc::TIsoMesh<Float_t> Mesh_t;
88 typedef std::list<Mesh_t> MeshList_t;
89 typedef std::list<Mesh_t>::iterator MeshIter_t;
90 typedef std::list<Mesh_t>::const_iterator ConstMeshIter_t;
92 TGLTH3Slice fXOZSlice;
93 TGLTH3Slice fYOZSlice;
94 TGLTH3Slice fXOYSlice;
103 Rgl::Range_t fMinMax;
105 TGLLevelPalette fPalette;
107 std::vector<Double_t> fColorLevels;
113 TGLIsoPainter(TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord);
116 char *GetPlotInfo(Int_t px, Int_t py);
117 Bool_t InitGeometry();
118 void StartPan(Int_t px, Int_t py);
119 void Pan(Int_t px, Int_t py);
120 void AddOption(
const TString &option);
121 void ProcessEvent(Int_t event, Int_t px, Int_t py);
126 void DeInitGL()
const;
128 void DrawPlot()
const;
129 void DrawSectionXOZ()
const;
130 void DrawSectionYOZ()
const;
131 void DrawSectionXOY()
const;
133 Bool_t HasSections()
const;
134 void SetSurfaceColor(Int_t ind)
const;
135 void SetMesh(Mesh_t &mesh, Double_t isoValue);
136 void DrawMesh(
const Mesh_t &mesh, Int_t level)
const;
139 TGLIsoPainter(
const TGLIsoPainter &);
140 TGLIsoPainter &operator = (
const TGLIsoPainter &);
142 ClassDef(TGLIsoPainter, 0)