Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
arrow.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_eve
3 /// Demonstrates usage of TEveArrow class.
4 ///
5 /// \image html eve_arrow.png
6 /// \macro_code
7 ///
8 /// \author Alja Mrak-Tadel
9 
10 
11 void arrow()
12 {
13  gSystem->IgnoreSignal(kSigSegmentationViolation, true);
14 
15  TEveManager::Create();
16 
17  auto marker = new TEvePointSet(8);
18  marker->SetName("Origin marker");
19  marker->SetMarkerColor(6);
20  marker->SetMarkerStyle(3);
21  Float_t a = 10;
22  marker->SetPoint(0, a, +a, +a);
23  marker->SetPoint(1, a, -a, +a);
24  marker->SetPoint(2, -a, -a, +a);
25  marker->SetPoint(3, -a, +a, +a);
26  marker->SetPoint(4, +a, +a, -a);
27  marker->SetPoint(5, +a, -a, -a);
28  marker->SetPoint(6, -a, +a, -a);
29  marker->SetPoint(7, -a, -a, -a);
30  gEve->AddElement(marker);
31 
32  auto a1 = new TEveArrow(1., 1., 10., 10., 4., 0.);
33  a1->SetMainColor(kBlue);
34  a1->SetTubeR(0.02);
35  a1->SetPickable(kTRUE);
36  gEve->AddElement(a1);
37  auto t1 = new TEveText("blue");
38  t1->SetFontSize(20);
39  TEveVector tv = a1->GetVector()*0.5f+a1->GetOrigin();
40  t1->RefMainTrans().SetPos(tv.Arr());
41  a1->AddElement(t1);
42 
43  auto a2 = new TEveArrow(20., 1., 10., 3., 0., 4.);
44  a2->SetMainColor(kGreen);
45  a2->SetPickable(kTRUE);
46  gEve->AddElement(a2);
47 
48  auto a3 = new TEveArrow(1., 10., 10., 0., 20., 0.);
49  a3->SetMainColor(kOrange);
50  a3->SetPickable(kTRUE);
51  gEve->AddElement(a3);
52 
53  gEve->FullRedraw3D(kTRUE);
54 }