21 ClassImp(TEveFrameBox);
25 TEveFrameBox::TEveFrameBox() :
26 fFrameType (kFT_None),
38 fFrameRGBA[0] = fFrameRGBA[1] = fFrameRGBA[2] = 0; fFrameRGBA[3] = 255;
39 fBackRGBA [0] = fBackRGBA [1] = fBackRGBA [2] = 255; fBackRGBA [3] = 255;
45 TEveFrameBox::~TEveFrameBox()
47 delete [] fFramePoints;
54 void TEveFrameBox::SetAAQuadXY(Float_t x, Float_t y, Float_t z,
55 Float_t dx, Float_t dy)
57 fFrameType = kFT_Quad;
59 delete [] fFramePoints;
60 fFramePoints =
new Float_t [fFrameSize];
61 Float_t* p = fFramePoints;
62 p[0] = x; p[1] = y; p[2] = z; p += 3;
63 p[0] = x+dx; p[1] = y; p[2] = z; p += 3;
64 p[0] = x+dx; p[1] = y+dy; p[2] = z; p += 3;
65 p[0] = x ; p[1] = y+dy; p[2] = z; p += 3;
72 void TEveFrameBox::SetAAQuadXZ(Float_t x, Float_t y, Float_t z,
73 Float_t dx, Float_t dz)
75 fFrameType = kFT_Quad;
77 delete [] fFramePoints;
78 fFramePoints =
new Float_t [fFrameSize];
79 Float_t* p = fFramePoints;
80 p[0] = x; p[1] = y; p[2] = z; p += 3;
81 p[0] = x+dx; p[1] = y; p[2] = z; p += 3;
82 p[0] = x+dx; p[1] = y; p[2] = z+dz; p += 3;
83 p[0] = x ; p[1] = y; p[2] = z+dz; p += 3;
92 void TEveFrameBox::SetQuadByPoints(
const Float_t* pointArr, Int_t nPoints)
94 fFrameType = kFT_Quad;
95 fFrameSize = 3*nPoints;
96 delete [] fFramePoints;
97 fFramePoints =
new Float_t [fFrameSize];
98 memcpy(fFramePoints, pointArr, fFrameSize*
sizeof(Float_t));
105 void TEveFrameBox::SetAABox(Float_t x, Float_t y, Float_t z,
106 Float_t dx, Float_t dy, Float_t dz)
108 fFrameType = kFT_Box;
110 delete [] fFramePoints;
111 fFramePoints =
new Float_t [fFrameSize];
113 Float_t* p = fFramePoints;
115 p[0] = x; p[1] = y + dy; p[2] = z; p += 3;
116 p[0] = x + dx; p[1] = y + dy; p[2] = z; p += 3;
117 p[0] = x + dx; p[1] = y; p[2] = z; p += 3;
118 p[0] = x; p[1] = y; p[2] = z; p += 3;
120 p[0] = x; p[1] = y + dy; p[2] = z + dz; p += 3;
121 p[0] = x + dx; p[1] = y + dy; p[2] = z + dz; p += 3;
122 p[0] = x + dx; p[1] = y; p[2] = z + dz; p += 3;
123 p[0] = x; p[1] = y; p[2] = z + dz;
130 void TEveFrameBox::SetAABoxCenterHalfSize(Float_t x, Float_t y, Float_t z,
131 Float_t dx, Float_t dy, Float_t dz)
133 fFrameType = kFT_Box;
135 delete [] fFramePoints;
136 fFramePoints =
new Float_t [fFrameSize];
138 Float_t* p = fFramePoints;
140 p[0] = x - dx; p[1] = y + dy; p[2] = z - dz; p += 3;
141 p[0] = x + dx; p[1] = y + dy; p[2] = z - dz; p += 3;
142 p[0] = x + dx; p[1] = y - dy; p[2] = z - dz; p += 3;
143 p[0] = x - dx; p[1] = y - dy; p[2] = z - dz; p += 3;
145 p[0] = x - dx; p[1] = y + dy; p[2] = z + dz; p += 3;
146 p[0] = x + dx; p[1] = y + dy; p[2] = z + dz; p += 3;
147 p[0] = x + dx; p[1] = y - dy; p[2] = z + dz; p += 3;
148 p[0] = x - dx; p[1] = y - dy; p[2] = z + dz;
154 void TEveFrameBox::SetFrameColor(Color_t ci)
157 TEveUtil::ColorFromIdx(ci, fFrameRGBA, kTRUE);
163 void TEveFrameBox::SetFrameColorPixel(Pixel_t pix)
165 SetFrameColor(Color_t(TColor::GetColor(pix)));
171 void TEveFrameBox::SetFrameColorRGBA(UChar_t r, UChar_t g, UChar_t b, UChar_t a)
173 fFrameColor = Color_t(TColor::GetColor(r, g, b));
183 void TEveFrameBox::SetBackColor(Color_t ci)
186 TEveUtil::ColorFromIdx(ci, fBackRGBA, kTRUE);
192 void TEveFrameBox::SetBackColorPixel(Pixel_t pix)
194 SetBackColor(Color_t(TColor::GetColor(pix)));
200 void TEveFrameBox::SetBackColorRGBA(UChar_t r, UChar_t g, UChar_t b, UChar_t a)
202 fBackColor = Color_t(TColor::GetColor(r, g, b));