12 #ifndef ROOT_TGLPlotPainter 13 #define ROOT_TGLPlotPainter 17 #ifndef ROOT_TVirtualGL 20 #ifndef ROOT_TGLPlotBox 88 if (v[0] >= fXRange.first && v[0] < fXRange.second &&
89 v[1] >= fYRange.first && v[1] < fYRange.second &&
90 v[2] >= fZRange.first && v[2] < fZRange.second)
136 const TH3 *hist,
const TF3 *fun,
143 void SetSliceWidth(
Int_t width = 1);
157 void FindMinMax(
Int_t sliceBegin,
Int_t sliceEnd)
const;
158 Bool_t PreparePalette()
const;
159 void DrawSliceTextured(
Double_t pos)
const;
160 void DrawSliceFrame(
Int_t low,
Int_t up)
const;
224 kHighColorSelectionBase = 7,
225 kTrueColorSelectionBase = 10
244 fPhysicalShapeColor = rgba;
247 virtual void InitGL()
const = 0;
248 virtual void DeInitGL()
const = 0;
249 virtual void DrawPlot()
const = 0;
250 virtual void Paint();
255 virtual Bool_t InitGeometry() = 0;
257 virtual void StartPan(
Int_t px,
Int_t py) = 0;
261 virtual void AddOption(
const TString &stringOption) = 0;
265 void SetPadColor(
const TColor *color);
267 virtual void SetFrameColor(
const TColor *frameColor);
270 void InvalidateSelection();
286 const TColor *GetPadColor()
const;
289 void DrawSections()
const;
290 virtual void DrawSectionXOZ()
const = 0;
291 virtual void DrawSectionYOZ()
const = 0;
292 virtual void DrawSectionXOY()
const = 0;
296 virtual void ClearBuffers()
const;
298 void PrintPlot()
const;
304 void SaveModelviewMatrix()
const;
305 void SaveProjectionMatrix()
const;
307 void RestoreModelviewMatrix()
const;
308 void RestoreProjectionMatrix()
const;
354 void SetXLog(
Bool_t xLog);
357 void SetYLog(
Bool_t yLog);
360 void SetZLog(
Bool_t zLog);
363 void ResetModified();
372 Int_t GetNXBins()
const;
373 Int_t GetNYBins()
const;
374 Int_t GetNZBins()
const;
406 Bool_t SetRangesCylindrical(
const TH1 *hist);
407 Bool_t SetRangesSpherical(
const TH1 *hist);
423 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
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.