12 #ifndef ROOT_TEveQuadSet
13 #define ROOT_TEveQuadSet
19 class TEveQuadSet :
public TEveDigitSet
21 friend class TEveQuadSetGL;
23 TEveQuadSet(
const TEveQuadSet&);
24 TEveQuadSet& operator=(
const TEveQuadSet&);
33 kQT_RectangleXYFixedDim,
34 kQT_RectangleXYFixedZ,
35 kQT_RectangleXZFixedY,
36 kQT_RectangleYZFixedX,
37 kQT_RectangleXYFixedDimZ,
38 kQT_RectangleXZFixedDimY,
39 kQT_RectangleYZFixedDimX,
55 struct QFreeQuad_t :
public DigitBase_t { Float_t fVertices[12]; };
57 struct QOrigin_t :
public DigitBase_t { Float_t fA, fB; };
59 struct QRectFixDimC_t :
public QOrigin_t {};
61 struct QRectFixDim_t :
public QRectFixDimC_t { Float_t fC; };
63 struct QRectFixC_t :
public QRectFixDimC_t { Float_t fW, fH; };
65 struct QRect_t :
public QRectFixDim_t { Float_t fW, fH; };
67 struct QLineFixC_t :
public QOrigin_t { Float_t fDx, fDy; };
69 struct QHex_t :
public QOrigin_t { Float_t fC, fR; };
72 EQuadType_e fQuadType;
78 static Int_t SizeofAtom(EQuadType_e qt);
81 TEveQuadSet(
const char* n=
"TEveQuadSet",
const char* t=
"");
82 TEveQuadSet(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize,
83 const char* n=
"TEveQuadSet",
const char* t=
"");
84 virtual ~TEveQuadSet() {}
86 void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize);
88 Float_t GetDefWidth()
const {
return fDefWidth; }
89 Float_t GetDefHeight()
const {
return fDefHeight; }
90 Float_t GetDefCoord()
const {
return fDefCoord; }
92 void SetDefWidth(Float_t v) { fDefWidth = v; }
93 void SetDefHeight(Float_t v) { fDefHeight = v; }
94 void SetDefCoord(Float_t v) { fDefCoord = v; }
98 void AddQuad(Float_t* verts);
100 void AddQuad(Float_t a, Float_t b);
101 void AddQuad(Float_t a, Float_t b, Float_t c);
102 void AddQuad(Float_t a, Float_t b, Float_t w, Float_t h);
103 void AddQuad(Float_t a, Float_t b, Float_t c, Float_t w, Float_t h);
105 void AddLine(Float_t a, Float_t b, Float_t w, Float_t h);
107 void AddHexagon(Float_t a, Float_t b, Float_t z, Float_t r);
110 void QuadValue(Int_t value) { DigitValue(value); }
111 void QuadColor(Color_t ci) { DigitColor(ci); }
112 void QuadColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255) { DigitColor(r, g, b, a); }
113 void QuadId(TObject*
id) { DigitId(
id); }
119 virtual void ComputeBBox();
123 ClassDef(TEveQuadSet, 0);