Warning, file /include/root/TGLPlotBox.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGLPlotFrame
0013 #define ROOT_TGLPlotFrame
0014
0015 #include <vector>
0016
0017 #include "Rtypes.h"
0018 #include "TGLUtil.h"
0019
0020 class TColor;
0021
0022
0023
0024
0025
0026 class TGLPlotBox {
0027 private:
0028 const TColor *fFrameColor;
0029 const Bool_t fXOYSelectable;
0030 const Bool_t fXOZSelectable;
0031 const Bool_t fYOZSelectable;
0032
0033 Bool_t fSelectablePairs[4][2];
0034
0035 TGLVertex3 f3DBox[8];
0036 mutable TGLVertex3 f2DBox[8];
0037 mutable TGLVertex3 f2DBoxU[8];
0038 mutable Int_t fFrontPoint;
0039
0040
0041 Double_t fRangeXU;
0042 Double_t fRangeYU;
0043 Double_t fRangeZU;
0044
0045 Bool_t fDrawBack;
0046 Bool_t fDrawFront;
0047
0048 public:
0049
0050 TGLPlotBox(Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable);
0051
0052
0053 virtual ~TGLPlotBox();
0054
0055 void DrawBox(Int_t selectedPart, Bool_t selectionPass,
0056 const std::vector<Double_t> &zLevels,
0057 Bool_t highColor)const;
0058
0059 void SetPlotBox(const Rgl::Range_t &xRange,
0060 const Rgl::Range_t &yRange,
0061 const Rgl::Range_t &zRange);
0062 void SetPlotBox(const Rgl::Range_t &xRange, Double_t rangeXU,
0063 const Rgl::Range_t &yRange, Double_t rangeYU,
0064 const Rgl::Range_t &zRange, Double_t rangeZU);
0065
0066 void SetFrameColor(const TColor *color);
0067
0068 Int_t FindFrontPoint()const;
0069 Int_t GetFrontPoint()const;
0070
0071 const TGLVertex3 *Get3DBox()const;
0072 const TGLVertex3 *Get2DBox()const;
0073
0074 static const Int_t fgFramePlanes[][4];
0075 static const Int_t fgBackPairs[][2];
0076 static const Int_t fgFrontPairs[][2];
0077 static const Double_t fgNormals[][3];
0078
0079 void SetDrawFront(Bool_t d) {fDrawFront = d;}
0080 Bool_t GetDrawFront() const {return fDrawFront;}
0081
0082 void SetDrawBack(Bool_t d) {fDrawBack = d;}
0083 Bool_t GetDrawBack() const {return fDrawBack;}
0084
0085 private:
0086 void DrawBack(Int_t selectedPart, Bool_t selectionPass, const std::vector<Double_t> &zLevels, Bool_t highColor)const;
0087 void DrawFront()const;
0088 void DrawBackPlane(Int_t plane, Bool_t selectionPass,
0089 const std::vector<Double_t> &zLevels)const;
0090
0091 ClassDef(TGLPlotBox, 0)
0092 };
0093
0094 #endif