]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Reve/FrameBox.cxx
Adapt to new QuadSet implementation.
[u/mrichter/AliRoot.git] / EVE / Reve / FrameBox.cxx
1 // $Header$
2
3 #include <Reve/FrameBox.h>
4
5 #include <TColor.h>
6
7 using namespace Reve;
8
9 //______________________________________________________________________
10 // FrameBox
11 //
12
13 ClassImp(FrameBox)
14
15 FrameBox::FrameBox() :
16   fFrameType   (FT_None),
17   fFrameSize   (0),
18   fFramePoints (0),
19
20   fFrameColor  (0)
21 {
22   fFrameRGBA[0] = fFrameRGBA[1] = fFrameRGBA[2] = fFrameRGBA[3] = 255;
23 }
24
25 FrameBox::~FrameBox()
26 {
27   delete [] fFramePoints;
28 }
29
30 /**************************************************************************/
31
32 void FrameBox::SetAAQuadXY(Float_t x,  Float_t y, Float_t z,
33                            Float_t dx, Float_t dy)
34 {
35   fFrameType = FT_Quad;
36   fFrameSize = 12;
37   delete [] fFramePoints;
38   fFramePoints = new Float_t [fFrameSize];
39   Float_t* p = fFramePoints;
40   p[0] = x;    p[1] = y;    p[2] = z; p += 3;
41   p[0] = x+dx; p[1] = y;    p[2] = z; p += 3;
42   p[0] = x+dx; p[1] = y+dy; p[2] = z; p += 3;
43   p[0] = x ;   p[1] = y+dy; p[2] = z; p += 3;
44 }
45
46 void FrameBox::SetAAQuadXZ(Float_t x,  Float_t y, Float_t z,
47                            Float_t dx, Float_t dz)
48 {
49   fFrameType = FT_Quad;
50   fFrameSize = 12;
51   delete [] fFramePoints;
52   fFramePoints = new Float_t [fFrameSize];
53   Float_t* p = fFramePoints;
54   p[0] = x;    p[1] = y; p[2] = z;    p += 3;
55   p[0] = x+dx; p[1] = y; p[2] = z;    p += 3;
56   p[0] = x+dx; p[1] = y; p[2] = z+dz; p += 3;
57   p[0] = x ;   p[1] = y; p[2] = z+dz; p += 3;
58 }
59
60 void FrameBox::SetAABox(Float_t x,  Float_t y,  Float_t z,
61                         Float_t dx, Float_t dy, Float_t dz)
62 {
63   fFrameType = FT_Box;
64   fFrameSize = 24;
65   delete [] fFramePoints;
66   fFramePoints = new Float_t [fFrameSize];
67
68   Float_t* p = fFramePoints;
69   //bottom
70   p[0] = x;       p[1] = y + dy;  p[2] = z;       p += 3;
71   p[0] = x + dx;  p[1] = y + dy;  p[2] = z;       p += 3;
72   p[0] = x + dx;  p[1] = y;       p[2] = z;       p += 3;
73   p[0] = x;       p[1] = y;       p[2] = z;       p += 3;
74   //top
75   p[0] = x;       p[1] = y + dy;  p[2] = z + dz;  p += 3;
76   p[0] = x + dx;  p[1] = y + dy;  p[2] = z + dz;  p += 3;
77   p[0] = x + dx;  p[1] = y;       p[2] = z + dz;  p += 3;
78   p[0] = x;       p[1] = y;       p[2] = z + dz;
79 }
80
81 /**************************************************************************/
82
83 void FrameBox::SetFrameColor(Color_t ci)
84 {
85   fFrameColor = ci;
86   ColorFromIdx(ci, fFrameRGBA, kTRUE);
87 }
88
89 void FrameBox::SetFrameColor(Pixel_t pix)
90 {
91   SetFrameColor(Color_t(TColor::GetColor(pix)));
92 }
93
94 void FrameBox::SetFrameColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a)
95 {
96   fFrameColor = Color_t(TColor::GetColor(r, g, b));
97   fFrameRGBA[0] = r;
98   fFrameRGBA[1] = g;
99   fFrameRGBA[2] = b;
100   fFrameRGBA[3] = a;
101 }