File indexing completed on 2025-01-18 10:11:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TEvePolygonSetProjectedGL
0013 #define ROOT_TEvePolygonSetProjectedGL
0014
0015 #include "TGLObject.h"
0016
0017 class TEvePolygonSetProjected;
0018
0019 class TEvePolygonSetProjectedGL : public TGLObject
0020 {
0021 protected:
0022 struct Edge_t
0023 {
0024 Int_t fI, fJ;
0025 Edge_t(Int_t i, Int_t j)
0026 {
0027 if (i <= j) { fI = i; fJ = j; }
0028 else { fI = j; fJ = i; }
0029 }
0030
0031 bool operator<(const Edge_t& e) const
0032 {
0033 if (fI == e.fI)
0034 return fJ < e.fJ;
0035 else
0036 return fI < e.fI;
0037 }
0038 };
0039
0040 TEvePolygonSetProjected *fM;
0041
0042 public:
0043 TEvePolygonSetProjectedGL();
0044 ~TEvePolygonSetProjectedGL() override {}
0045
0046 Bool_t SetModel(TObject* obj, const Option_t *opt = nullptr) override;
0047 void SetBBox() override;
0048 void Draw(TGLRnrCtx& rnrCtx) const override;
0049 void DirectDraw(TGLRnrCtx& rnrCtx) const override;
0050
0051 void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const override;
0052
0053 Bool_t IgnoreSizeForOfInterest() const override { return kTRUE; }
0054
0055 private:
0056 void DrawOutline() const;
0057
0058 ClassDefOverride(TEvePolygonSetProjectedGL,0);
0059 };
0060
0061 #endif