Logo ROOT  
Reference Guide
projection.C File Reference

Detailed Description

Demonstrates usage of automatic 2D projections - class TEveProjectionManager.

const char* esd_geom_file_name =
"http://root.cern.ch/files/alice_ESDgeometry.root";
void projection()
{
// camera
auto s = gEve->SpawnNewScene("Projected Event");
v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
TGLOrthoCamera& cam = (TGLOrthoCamera&) v->CurrentCamera();
cam.SetZoomMinMax(0.2, 20);
// projections
s->AddElement(mng);
auto axes = new TEveProjectionAxes(mng);
axes->SetTitle("TEveProjections demo");
s->AddElement(axes);
// Simple geometry
auto geom = TFile::Open(esd_geom_file_name, "CACHEREAD");
if (!geom)
return;
auto gse = (TEveGeoShapeExtract*) geom->Get("Gentle");
auto gsre = TEveGeoShape::ImportShapeExtract(gse, 0);
geom->Close();
delete geom;
gsre->SetPickableRecursively(kTRUE);
mng->ImportElements(gsre);
auto line = new TEveLine;
line->SetMainColor(kGreen);
for (Int_t i=0; i<160; ++i)
line->SetNextPoint(120*sin(0.2*i), 120*cos(0.2*i), 80-i);
mng->ImportElements(line);
line->SetRnrSelf(kFALSE);
}
int Int_t
Definition: RtypesCore.h:43
const Bool_t kFALSE
Definition: RtypesCore.h:90
const Bool_t kTRUE
Definition: RtypesCore.h:89
@ kGreen
Definition: Rtypes.h:64
R__EXTERN TEveManager * gEve
Definition: TEveManager.h:243
double cos(double)
double sin(double)
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
Globally positioned TGeoShape with rendering attributes and an optional list of daughter shape-extrac...
static TEveGeoShape * ImportShapeExtract(TEveGeoShapeExtract *gse, TEveElement *parent=0)
Import a shape extract 'gse' under element 'parent'.
An arbitrary polyline with fixed line and marker attributes.
Definition: TEveLine.h:26
void AddElement(TEveElement *element, TEveElement *parent=0)
Add an element.
void AddGlobalElement(TEveElement *element, TEveElement *parent=0)
Add a global element, i.e.
TGLViewer * GetDefaultGLViewer() const
Get TGLViewer of the default TEveViewer.
TEveViewer * GetDefaultViewer() const
Returns the default viewer - the first one in the fViewers list.
TEveScene * GetGlobalScene() const
Definition: TEveManager.h:147
TGListTreeItem * AddToListTree(TEveElement *re, Bool_t open, TGListTree *lt=0)
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
TEveScene * SpawnNewScene(const char *name, const char *title="")
Create a new scene.
Axes for non-linear projections.
Manager class for steering of projections and managing projected objects.
virtual void AddScene(TEveScene *scene)
Add 'scene' to the list of scenes.
Definition: TEveViewer.cxx:262
static Bool_t SetCacheFileDir(ROOT::Internal::TStringView cacheDir, Bool_t operateDisconnected=kTRUE, Bool_t forceCacheread=kFALSE)
Definition: TFile.h:323
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
Definition: TFile.cxx:3942
Orthographic projection camera.
void SetZoomMinMax(Double_t min, Double_t max)
@ kCameraOrthoXOY
Definition: TGLViewer.h:64
TLine * line
static constexpr double s
Author
Matevz Tadel

Definition in file projection.C.