Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
lineset.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_eve
3 /// Demonstrates usage of class REveStraightLineSet.
4 ///
5 /// \macro_code
6 ///
7 
8 #include "TRandom.h"
9 
10 #include <ROOT/REveElement.hxx>
11 #include <ROOT/REveScene.hxx>
12 #include <ROOT/REveManager.hxx>
14 
15 //#include <ROOT/REveJetCone.hxx>
16 namespace REX = ROOT::Experimental;
17 
18 
19 REX::REveStraightLineSet* makeLineSet(Int_t nlines = 40, Int_t nmarkers = 4)
20 {
21  TRandom r(0);
22  Float_t s = 100;
23 
24  auto ls = new REX::REveStraightLineSet();
25 
26  for (Int_t i = 0; i<nlines; i++) {
27  ls->AddLine( r.Uniform(-s,s), r.Uniform(-s,s), r.Uniform(-s,s),
28  r.Uniform(-s,s), r.Uniform(-s,s), r.Uniform(-s,s));
29  // add random number of markers
30  Int_t nm = Int_t(nmarkers* r.Rndm());
31  for (Int_t m = 0; m < nm; m++) ls->AddMarker(i, r.Rndm());
32  }
33 
34  ls->SetMarkerSize(0.5);
35  ls->SetMarkerStyle(1);
36  REX::gEve->GetEventScene()->AddElement(ls);
37 
38  return ls;
39 }
40 
41 void lineset()
42 {
43  auto eveMng = REX::REveManager::Create();
44 
45  auto ls1 = makeLineSet(10, 50);
46  ls1->SetMainColor(kViolet);
47  ls1->SetName("LineSet_1");
48 
49  auto ls2 = makeLineSet(3, 4);
50  ls2->SetMainColor(kBlue);
51  ls2->SetName("LineSet_2");
52  //ls2->InitMainTrans();
53  // ls2->RefMainTrans().Move3LF(40, 100, 100);
54 
55 
56  eveMng->Show();
57 }