Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
box.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_eve
3 /// Demonstrates usage of TEveBox class.
4 ///
5 /// \image html eve_box.png
6 /// \macro_code
7 ///
8 /// \author Matevz Tadel
9 
10 TEveBox* box(Float_t a=10, Float_t d=5, Float_t x=0, Float_t y=0, Float_t z=0)
11 {
12  TEveManager::Create();
13 
14  TRandom& r = * gRandom;
15 
16  auto b = new TEveBox;
17  b->SetMainColor(kCyan);
18  b->SetMainTransparency(0);
19 
20 #define RND_BOX(x) r.Uniform(-(x), (x))
21  b->SetVertex(0, x - a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
22  b->SetVertex(1, x - a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
23  b->SetVertex(2, x + a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
24  b->SetVertex(3, x + a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
25  b->SetVertex(4, x - a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
26  b->SetVertex(5, x - a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
27  b->SetVertex(6, x + a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
28  b->SetVertex(7, x + a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
29 #undef RND_BOX
30 
31  gEve->AddElement(b);
32  gEve->Redraw3D(kTRUE);
33 
34  return b;
35 }