10 TEveBoxSet* boxset(Float_t x=0, Float_t y=0, Float_t z=0,
11 Int_t num=100, Bool_t registerSet=kTRUE)
13 TEveManager::Create();
17 auto pal =
new TEveRGBAPalette(0, 130);
19 auto frm =
new TEveFrameBox();
20 frm->SetAABoxCenterHalfSize(0, 0, 0, 12, 12, 12);
21 frm->SetFrameColor(kCyan);
22 frm->SetBackColorRGBA(120,120,120,20);
23 frm->SetDrawBack(kTRUE);
25 auto q =
new TEveBoxSet(
"BoxSet");
28 q->Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
29 for (Int_t i=0; i<num; ++i) {
30 q->AddBox(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10),
31 r.Uniform(0.2, 1), r.Uniform(0.2, 1), r.Uniform(0.2, 1));
32 q->DigitValue(r.Uniform(0, 130));
36 TEveTrans& t = q->RefMainTrans();
46 gEve->Redraw3D(kTRUE);
52 TEveBoxSet* boxset_colisval(Float_t x=0, Float_t y=0, Float_t z=0,
53 Int_t num=100, Bool_t registerSet=kTRUE)
55 TEveManager::Create();
59 auto q =
new TEveBoxSet(
"BoxSet");
60 q->Reset(TEveBoxSet::kBT_AABox, kTRUE, 64);
61 for (Int_t i=0; i<num; ++i) {
62 q->AddBox(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10),
63 r.Uniform(0.2, 1), r.Uniform(0.2, 1), r.Uniform(0.2, 1));
64 q->DigitColor(r.Uniform(20, 255), r.Uniform(20, 255),
65 r.Uniform(20, 255), r.Uniform(20, 255));
69 TEveTrans& t = q->RefMainTrans();
75 gEve->Redraw3D(kTRUE);
81 TEveBoxSet* boxset_single_color(Float_t x=0, Float_t y=0, Float_t z=0,
82 Int_t num=100, Bool_t registerSet=kTRUE)
84 TEveManager::Create();
88 auto q =
new TEveBoxSet(
"BoxSet");
90 q->SetMainColor(kCyan-2);
91 q->SetMainTransparency(50);
92 q->Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
93 for (Int_t i=0; i<num; ++i) {
94 q->AddBox(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10),
95 r.Uniform(0.2, 1), r.Uniform(0.2, 1), r.Uniform(0.2, 1));
99 TEveTrans& t = q->RefMainTrans();
104 gEve->Redraw3D(kTRUE);
110 TEveBoxSet* boxset_freebox(Int_t num=100, Bool_t registerSet=kTRUE)
112 TEveManager::Create();
116 auto pal =
new TEveRGBAPalette(0, 130);
118 auto q =
new TEveBoxSet(
"BoxSet");
120 q->Reset(TEveBoxSet::kBT_FreeBox, kFALSE, 64);
122 #define RND_BOX(x) (Float_t)r.Uniform(-(x), (x))
125 for (Int_t i=0; i<num; ++i) {
126 Float_t x = RND_BOX(10);
127 Float_t y = RND_BOX(10);
128 Float_t z = RND_BOX(10);
129 Float_t a = r.Uniform(0.2, 0.5);
131 Float_t verts[24] = {
132 x - a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d),
133 x - a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d),
134 x + a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d),
135 x + a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d),
136 x - a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d),
137 x - a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d),
138 x + a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d),
139 x + a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d) };
141 q->DigitValue(r.Uniform(0, 130));
153 gEve->Redraw3D(kTRUE);
159 TEveBoxSet* boxset_hex(Float_t x=0, Float_t y=0, Float_t z=0,
160 Int_t num=100, Bool_t registerSet=kTRUE)
162 TEveManager::Create();
166 auto q =
new TEveBoxSet(
"BoxSet");
167 q->Reset(TEveBoxSet::kBT_Hex, kTRUE, 64);
169 for (Int_t i=0; i<num; ++i) {
170 q->AddHex(TEveVector(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10)),
171 r.Uniform(0.2, 1), r.Uniform(0, 60), r.Uniform(0.2, 5));
172 q->DigitColor(r.Uniform(20, 255), r.Uniform(20, 255),
173 r.Uniform(20, 255), r.Uniform(20, 255));
177 q->SetPickable(
true);
178 q->SetAlwaysSecSelect(
true);
180 TEveTrans& t = q->RefMainTrans();
186 gEve->Redraw3D(kTRUE);