12 #ifndef ROOT_TGLPlotFrame
13 #define ROOT_TGLPlotFrame
28 const TColor *fFrameColor;
29 const Bool_t fXOYSelectable;
30 const Bool_t fXOZSelectable;
31 const Bool_t fYOZSelectable;
33 Bool_t fSelectablePairs[4][2];
36 mutable TGLVertex3 f2DBox[8];
37 mutable TGLVertex3 f2DBoxU[8];
38 mutable Int_t fFrontPoint;
50 TGLPlotBox(Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable);
53 virtual ~TGLPlotBox();
55 void DrawBox(Int_t selectedPart, Bool_t selectionPass,
56 const std::vector<Double_t> &zLevels,
57 Bool_t highColor)
const;
59 void SetPlotBox(
const Rgl::Range_t &xRange,
60 const Rgl::Range_t &yRange,
61 const Rgl::Range_t &zRange);
62 void SetPlotBox(
const Rgl::Range_t &xRange, Double_t rangeXU,
63 const Rgl::Range_t &yRange, Double_t rangeYU,
64 const Rgl::Range_t &zRange, Double_t rangeZU);
66 void SetFrameColor(
const TColor *color);
68 Int_t FindFrontPoint()
const;
69 Int_t GetFrontPoint()
const;
71 const TGLVertex3 *Get3DBox()
const;
72 const TGLVertex3 *Get2DBox()
const;
74 static const Int_t fgFramePlanes[][4];
75 static const Int_t fgBackPairs[][2];
76 static const Int_t fgFrontPairs[][2];
77 static const Double_t fgNormals[][3];
79 void SetDrawFront(Bool_t d) {fDrawFront = d;}
80 Bool_t GetDrawFront()
const {
return fDrawFront;}
82 void SetDrawBack(Bool_t d) {fDrawBack = d;}
83 Bool_t GetDrawBack()
const {
return fDrawBack;}
86 void DrawBack(Int_t selectedPart, Bool_t selectionPass,
const std::vector<Double_t> &zLevels, Bool_t highColor)
const;
87 void DrawFront()
const;
88 void DrawBackPlane(Int_t plane, Bool_t selectionPass,
89 const std::vector<Double_t> &zLevels)
const;
91 ClassDef(TGLPlotBox, 0)