]>
Commit | Line | Data |
---|---|---|
b7a5b6f9 | 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 | } |