Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
box.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_eve_7
3/// Demonstrates usage of TEveBox class.
4///
5/// \image html eve_box.png
6/// \macro_code
7///
8/// \author Matevz Tadel
9#include <ROOT/REveBox.hxx>
10#include <ROOT/REveScene.hxx>
11#include <ROOT/REveManager.hxx>
12
13using namespace ROOT::Experimental;
14
15REveBox *box(Float_t a = 10, Float_t d = 5, Float_t x = 0, Float_t y = 0, Float_t z = 0)
16{
18
19 TRandom &r = *gRandom;
20
21 auto b = new REveBox;
22 b->SetMainColor(kCyan);
23 b->SetMainTransparency(0);
24
25#define RND_BOX(x) r.Uniform(-(x), (x))
26 b->SetVertex(0, x - a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
27 b->SetVertex(1, x - a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
28 b->SetVertex(2, x + a + RND_BOX(d), y + a + RND_BOX(d), z - a + RND_BOX(d));
29 b->SetVertex(3, x + a + RND_BOX(d), y - a + RND_BOX(d), z - a + RND_BOX(d));
30 b->SetVertex(4, x - a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
31 b->SetVertex(5, x - a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
32 b->SetVertex(6, x + a + RND_BOX(d), y + a + RND_BOX(d), z + a + RND_BOX(d));
33 b->SetVertex(7, x + a + RND_BOX(d), y - a + RND_BOX(d), z + a + RND_BOX(d));
34#undef RND_BOX
35
36 gEve->GetEventScene()->AddElement(b);
37 gEve->Show();
38
39 return b;
40}
ROOT::R::TRInterface & r
Definition Object.C:4
#define d(i)
Definition RSha256.hxx:102
#define b(i)
Definition RSha256.hxx:100
#define a(i)
Definition RSha256.hxx:99
float Float_t
Float 4 bytes (float).
Definition RtypesCore.h:71
@ kCyan
Definition Rtypes.h:67
externTEveManager * gEve
externTRandom * gRandom
Definition TRandom.h:62
3D box with arbitrary vertices (cuboid).
static REveManager * Create()
If global REveManager* REX::gEve is not set initialize it.
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
#define RND_BOX(x)
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Definition fillpatterns.C:1
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
Namespace for ROOT features in testing.
Definition TROOT.h:100