Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
triangleset.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_eve
3 /// Demonstrates usage of class TEveTriangleSet.
4 ///
5 /// \image html eve_triangleset.png
6 /// \macro_code
7 ///
8 /// \author Matevz Tadel
9 
10 #include "TCanvas.h"
11 #include "TStyle.h"
12 #include "TFile.h"
13 #include "TStopwatch.h"
14 #include "TError.h"
15 
16 class TEveTriangleSet;
17 
18 TEveTriangleSet *ts1=0, *ts2=0, *ts3=0;
19 
20 void triangleset()
21 {
22  TEveManager::Create();
23 
24  {
25  ts1 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring");
26  ts1->SetName("RandomColors");
27  ts1->GenerateTriangleNormals();
28  ts1->GenerateRandomColors();
29  ts1->SetMainColor(0);
30  TGeoHMatrix m;
31  Double_t scale[3] = { 0.5, 0.5, 0.5 };
32  m.SetScale(scale);
33  ts1->SetTransMatrix(m);
34  gEve->AddElement(ts1);
35  }
36  {
37  ts2 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring");
38  ts2->SetName("SmallBlue");
39  ts2->GenerateTriangleNormals();
40  ts2->SetMainColor(4);
41  TGeoHMatrix m;
42  m.RotateY(90);
43  Double_t scale[3] = { 0.8, 0.8, 1.2 };
44  m.SetScale(scale);
45  ts2->SetTransMatrix(m);
46  gEve->AddElement(ts2);
47  }
48  {
49  ts3 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring");
50  ts3->SetName("Spectrum");
51  ts3->GenerateTriangleNormals();
52  ts3->GenerateZNormalColors(50, -50, 50, kTRUE, kTRUE);
53  ts3->SetMainColor(0);
54  TGeoHMatrix m;
55  m.RotateZ(90);
56  Double_t scale[3] = { 1.3, 1.0, 1.6 };
57  m.SetScale(scale);
58  ts3->SetTransMatrix(m);
59  gEve->AddElement(ts3);
60  }
61 
62  gEve->Redraw3D(kTRUE);
63 }