12 #ifndef ROOT_TGLPlotPainter 13 #define ROOT_TGLPlotPainter 78 if (v[0] >= fXRange.first && v[0] < fXRange.second &&
79 v[1] >= fYRange.first && v[1] < fYRange.second &&
80 v[2] >= fZRange.first && v[2] < fZRange.second)
126 const TH3 *hist,
const TF3 *fun,
133 void SetSliceWidth(
Int_t width = 1);
147 void FindMinMax(
Int_t sliceBegin,
Int_t sliceEnd)
const;
148 Bool_t PreparePalette()
const;
149 void DrawSliceTextured(
Double_t pos)
const;
150 void DrawSliceFrame(
Int_t low,
Int_t up)
const;
214 kHighColorSelectionBase = 7,
215 kTrueColorSelectionBase = 10
234 fPhysicalShapeColor = rgba;
237 virtual void InitGL()
const = 0;
238 virtual void DeInitGL()
const = 0;
239 virtual void DrawPlot()
const = 0;
240 virtual void Paint();
245 virtual Bool_t InitGeometry() = 0;
247 virtual void StartPan(
Int_t px,
Int_t py) = 0;
251 virtual void AddOption(
const TString &stringOption) = 0;
255 void SetPadColor(
const TColor *color);
257 virtual void SetFrameColor(
const TColor *frameColor);
260 void InvalidateSelection();
276 const TColor *GetPadColor()
const;
279 void DrawSections()
const;
280 virtual void DrawSectionXOZ()
const = 0;
281 virtual void DrawSectionYOZ()
const = 0;
282 virtual void DrawSectionXOY()
const = 0;
286 virtual void ClearBuffers()
const;
288 void PrintPlot()
const;
294 void SaveModelviewMatrix()
const;
295 void SaveProjectionMatrix()
const;
297 void RestoreModelviewMatrix()
const;
298 void RestoreProjectionMatrix()
const;
344 void SetXLog(
Bool_t xLog);
347 void SetYLog(
Bool_t yLog);
350 void SetZLog(
Bool_t zLog);
353 void ResetModified();
362 Int_t GetNXBins()
const;
363 Int_t GetNYBins()
const;
364 Int_t GetNZBins()
const;
396 Bool_t SetRangesCylindrical(
const TH1 *hist);
397 Bool_t SetRangesSpherical(
const TH1 *hist);
413 const std::vector<Double_t> &levels);
void ResetBoxGeometry()
Set geometry using plot's back box.
void DrawBox(Bool_t selectionPass, Int_t selected) const
Draw cut as a semi-transparent box.
Camera for TGLPlotPainter and sub-classes.
Int_t GetFirstXBin() const
void MoveBox(Int_t px, Int_t py, Int_t axisID)
Move box cut along selected direction.
void SetFactor(Double_t f)
std::pair< Double_t, Double_t > Range_t
Rgl::Range_t GetZRange() const
void TurnOnOff()
Turn the box cut on/off.
Rgl::Range_t fZRangeScaled
void AdjustBox()
Box cut is limited by plot's sizes.
void DrawPaletteAxis(const TGLPlotCamera *camera, const Range_t &minMax, Bool_t logZ)
const TGLPlotCoordinates * fCoord
void SetMinMax(const Rgl::Range_t &newRange)
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Bool_t IsInCut(const V *v) const
Bool_t CutAxisSelected() const
const Double_t gH2PolyScaleXY
TGLBoxCut(const TGLPlotBox *plotBox)
Constructor.
TGL2DArray< Double_t > fTexCoords
#define ClassDef(name, id)
virtual ~TGLBoxCut()
Destructor.
Rgl::Range_t GetXRange() const
The TNamed class is the base class for all named ROOT classes.
3 component (x/y/z) vertex class.
void SetDrawBack(Bool_t d)
void SetDrawFront(Bool_t d)
Int_t GetFirstYBin() const
Implementation of a box around a histogram/function for plot-painters.
The 3-D histogram classes derived from the 1-D histogram classes.
void SetDrawBackBox(Bool_t b)
Int_t GetLastYBin() const
Class to manage histogram axis.
Rgl::Range_t GetYRange() const
A 3-Dim function with parameters.
std::pair< Int_t, Int_t > BinRange_t
Helper class for plot-painters holding information about axis ranges, numbers of bins and flags if ce...
TGLSelectionBuffer fSelection
Base class for plot-painters that provide GL rendering of various 2D and 3D histograms, functions and parametric surfaces.
const TGLPlotBox & RefBackBox() const
std::vector< Double_t > fZLevels
Rgl::Range_t fYRangeScaled
void SetActive(Bool_t a)
Turn the box cut on/off.
Double_t GetYScale() const
void SetDrawFrontBox(Bool_t b)
The color creation and management class.
Int_t GetFirstZBin() const
Int_t GetLastXBin() const
Binding & operator=(OUT(*fun)(void))
void DrawPalette(const TGLPlotCamera *camera, const TGLLevelPalette &palette, const std::vector< Double_t > &levels)
Draw. Palette.
const Float_t * fPhysicalShapeColor
const TGLPlotPainter * fPainter
void StartMovement(Int_t px, Int_t py)
Start cut's movement.
Rgl::Range_t fXRangeScaled
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Used by plot-painters to determine the area of the plot that is cut away.
Int_t GetLastZBin() const
TGLPlotCoordinates * fCoord
void SetPhysicalShapeColor(const Float_t *rgba)
Double_t GetZScale() const
void SetDrawAxes(Bool_t s)
const TGLPlotBox *const fPlotBox
Double_t GetXScale() const
2D Histogram with Polygonal Bins
const TGLLevelPalette & GetPalette() const
Bool_t IsInCut(Double_t xMin, Double_t xMax, Double_t yMin, Double_t yMax, Double_t zMin, Double_t zMax) const
Check, if box defined by xmin/xmax etc. is in cut.