Logo ROOT   6.18/05
Reference Guide
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
16class TEveTriangleSet;
17
18TEveTriangleSet *ts1=0, *ts2=0, *ts3=0;
19
20void triangleset()
21{
23
24 {
25 ts1 = TEveTriangleSet::ReadTrivialFile("broken_torus.tring");
26 ts1->SetName("RandomColors");
29 ts1->SetMainColor(0);
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);
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);
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
63}
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
R__EXTERN TEveManager * gEve
Definition: TEveManager.h:243
virtual void SetMainColor(Color_t color)
Set main color of the element.
virtual void SetTransMatrix(Double_t *carr)
Set transformation matrix from column-major array.
void AddElement(TEveElement *element, TEveElement *parent=0)
Add an element.
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
Definition: TEveManager.h:168
Made from a list of vertices and a list of triangles (triplets of vertex indices).
void GenerateRandomColors()
Assign random colors to all triangles.
static TEveTriangleSet * ReadTrivialFile(const char *file)
Read a simple ascii input file describing vertices and triangles.
void GenerateTriangleNormals()
Generate triangle normals via cross product of triangle edges.
Matrix class used for computing global transformations Should NOT be used for node definition.
Definition: TGeoMatrix.h:421
virtual void SetName(const char *name)
Set the name of the TNamed.
Definition: TNamed.cxx:140
auto * m
Definition: textangle.C:8