Logo ROOT   6.16/01
Reference Guide
compound.C
Go to the documentation of this file.
1#include "TRandom.h"
2#include <ROOT/REveManager.hxx>
3#include <ROOT/REveScene.hxx>
4#include <ROOT/REveLine.hxx>
5#include <ROOT/REveCompound.hxx>
6
7namespace REX = ROOT::Experimental;
8
9REX::REveLine* random_line(TRandom& rnd, Int_t n, Float_t delta)
10{
11 auto line = new REX::REveLine;
12 line->SetMainColor(kGreen);
13
14 Float_t x = 0, y = 0, z = 0;
15 for (Int_t i=0; i<n; ++i) {
16 line->SetNextPoint(x, y, z);
17 x += rnd.Uniform(0, delta);
18 y += rnd.Uniform(0, delta);
19 z += rnd.Uniform(0, delta);
20 }
21
22 return line;
23}
24
26{
27 // disable browser cache - all scripts and html files will be loaded every time, useful for development
28 // gEnv->SetValue("WebGui.HttpMaxAge", 0);
29
30 auto eveMng = REX::REveManager::Create();
31 TRandom rnd(0);
32 /*
33 auto* ml = random_line(rnd, 20, 10);
34 ml->SetMainColor(kRed);
35 ml->SetLineStyle(2);
36 ml->SetLineWidth(3);
37 REX::gEve->InsertVizDBEntry("BigLine", ml);
38 */
39 auto cmp = new REX::REveCompound;
40 cmp->SetMainColor(kGreen);
41
42
43 cmp->OpenCompound();
44 cmp->AddElement(random_line(rnd, 20, 10));
45 cmp->AddElement(random_line(rnd, 20, 10));
46
47 auto line = random_line(rnd, 20, 12);
48 line->SetMainColor(kRed);
51 // line->ApplyVizTag("BigLine");
52 cmp->AddElement(line);
53
54
55 cmp->CloseCompound();
56
57 eveMng->GetEventScene()->AddElement(cmp);
58
59 eveMng->Show();
60}
int Int_t
Definition: RtypesCore.h:41
float Float_t
Definition: RtypesCore.h:53
@ kRed
Definition: Rtypes.h:63
@ kGreen
Definition: Rtypes.h:63
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
Definition: TAttLine.h:42
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition: TAttLine.h:43
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
virtual Double_t Uniform(Double_t x1=1)
Returns a uniform deviate on the interval (0, x1).
Definition: TRandom.cxx:627
REX::REveManager * eveMng
Definition: collection.C:28
TLine * line
void compound()
Definition: compound.C:25
REX::REveLine * random_line(TRandom &rnd, Int_t n, Float_t delta)
Definition: compound.C:9
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16