/// \file /// \ingroup tutorial_eve /// Demonstrates usage of class TEveTriangleSet. /// /// \image html eve_triangleset.png /// \macro_code /// /// \author Matevz Tadel #include "TCanvas.h" #include "TStyle.h" #include "TFile.h" #include "TStopwatch.h" #include "TError.h" class TEveTriangleSet; TEveTriangleSet *ts1=0, *ts2=0, *ts3=0; void triangleset() { TEveManager::Create(); { ts1 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring"); ts1->SetName("RandomColors"); ts1->GenerateTriangleNormals(); ts1->GenerateRandomColors(); ts1->SetMainColor(0); TGeoHMatrix m; Double_t scale[3] = { 0.5, 0.5, 0.5 }; m.SetScale(scale); ts1->SetTransMatrix(m); gEve->AddElement(ts1); } { ts2 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring"); ts2->SetName("SmallBlue"); ts2->GenerateTriangleNormals(); ts2->SetMainColor(4); TGeoHMatrix m; m.RotateY(90); Double_t scale[3] = { 0.8, 0.8, 1.2 }; m.SetScale(scale); ts2->SetTransMatrix(m); gEve->AddElement(ts2); } { ts3 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring"); ts3->SetName("Spectrum"); ts3->GenerateTriangleNormals(); ts3->GenerateZNormalColors(50, -50, 50, kTRUE, kTRUE); ts3->SetMainColor(0); TGeoHMatrix m; m.RotateZ(90); Double_t scale[3] = { 1.3, 1.0, 1.6 }; m.SetScale(scale); ts3->SetTransMatrix(m); gEve->AddElement(ts3); } gEve->Redraw3D(kTRUE); }