]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/QuadSet.h
Changed inheritance to include Reve::RenderElement; use ZTrans to store transformatio...
[u/mrichter/AliRoot.git] / EVE / Reve / QuadSet.h
CommitLineData
a8b53f69 1// $Header$
2
5a5a1232 3#ifndef REVE_QuadSet_H
4#define REVE_QuadSet_H
5
6#include <Gtypes.h>
7#include <TNamed.h>
8#include <TAtt3D.h>
9#include <TAttBBox.h>
10
11#include <vector>
12
13class TRandom;
14
15namespace Reve {
16
17struct Quad
18{
19 Float_t vertices[12];
20 Int_t color;
21
22 void ColorFromIdx(Color_t ci);
23
265ecb21 24 Quad(Color_t col = 1) : color(0)
5a5a1232 25 { ColorFromIdx(col); }
26
265ecb21 27 Quad(Color_t col, Float_t* p) : color(0)
5a5a1232 28 { ColorFromIdx(col); memcpy(vertices, p, 12*sizeof(Float_t)); }
29
30 Quad(TRandom& rnd, Float_t origin, Float_t size);
31
265ecb21 32 Quad(const Quad& org) : color(0) { memcpy(this, &org, sizeof(Quad)); }
5a5a1232 33
a8b53f69 34 virtual ~Quad() {}
35
5a5a1232 36 ClassDef(Quad, 1);
37};
38
39/**************************************************************************/
40
41class QuadSet : public TNamed, public TAtt3D, public TAttBBox
42{
43 friend class QuadSetGL;
44
5a5a1232 45protected:
46 std::vector<Quad> fQuads;
47 Double_t fMatrix[16];
48 Bool_t fTrans;
49
50public:
606c4ed7 51 QuadSet(const Text_t* n="QuadSet", const Text_t* t="");
a8b53f69 52 virtual ~QuadSet() {}
5a5a1232 53
54 Bool_t GetTrans() const { return fTrans; }
55 void SetTrans(Bool_t t) { fTrans = t; }
56
57 void Test(Int_t nquads);
58
59 virtual void ComputeBBox();
60
61 virtual void Paint(Option_t* option = "");
62
63 ClassDef(QuadSet, 1);
64};
65
66} // namespace Reve
67
68#endif