ROOT
6.18/05
Reference Guide
tutorials
eve
hierarchical_scene.C File Reference
Tutorials
»
Event display tutorials
Detailed Description
const
Int_t
Ns = 7;
void
add_blobs(
TEveElement
* p,
Float_t
rad
,
Float_t
height,
Float_t
size,
Int_t
level)
{
if
(level <= 0)
return
;
for
(
Int_t
i = 0; i < Ns; ++i) {
auto
x
=
new
TEveGeoShape
(
"SS"
);
x
->SetShape(
new
TGeoSphere
(0, size));
Double_t
phi =
TMath::TwoPi
() * i / Ns;
x
->RefMainTrans().SetPos(
rad
*
TMath::Cos
(phi),
rad
*
TMath::Sin
(phi),
height);
x
->SetMainColor(
TColor::GetColorPalette
(
gRandom
->
Integer
(
TColor::GetNumberOfColors
())));
p->
AddElement
(
x
);
add_blobs(
x
, 0.8 *
rad
, 0.8 * height, 0.8 * size, level - 1);
}
}
void
hierarchical_scene()
{
TEveManager::Create
();
TColor::SetPalette
(1, 0);
gRandom
=
new
TRandom3
(0);
auto
s
=
gEve
->
SpawnNewScene
(
"Hierarchical Scene"
,
"OoogaDooga"
);
s
->SetHierarchical(
kTRUE
);
gEve
->
GetDefaultViewer
()->
AddScene
(
s
);
add_blobs(
s
, 6, 4, 0.5, 4);
gEve
->
Redraw3D
(
kTRUE
);
}
Int_t
int Int_t
Definition:
RtypesCore.h:41
Double_t
double Double_t
Definition:
RtypesCore.h:55
Float_t
float Float_t
Definition:
RtypesCore.h:53
kTRUE
const Bool_t kTRUE
Definition:
RtypesCore.h:87
gEve
R__EXTERN TEveManager * gEve
Definition:
TEveManager.h:243
gRandom
R__EXTERN TRandom * gRandom
Definition:
TRandom.h:62
TColor::SetPalette
static void SetPalette(Int_t ncolors, Int_t *colors, Float_t alpha=1.)
Static function.
Definition:
TColor.cxx:2404
TColor::GetColorPalette
static Int_t GetColorPalette(Int_t i)
Static function returning the color number i in current palette.
Definition:
TColor.cxx:1390
TColor::GetNumberOfColors
static Int_t GetNumberOfColors()
Static function returning number of colors in the color palette.
Definition:
TColor.cxx:1410
TEveElement
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition:
TEveElement.h:34
TEveElement::AddElement
virtual void AddElement(TEveElement *el)
Add el to the list of children.
Definition:
TEveElement.cxx:1324
TEveGeoShape
Wrapper for TGeoShape with absolute positioning and color attributes allowing display of extracted TG...
Definition:
TEveGeoShape.h:24
TEveManager::GetDefaultViewer
TEveViewer * GetDefaultViewer() const
Returns the default viewer - the first one in the fViewers list.
Definition:
TEveManager.cxx:260
TEveManager::Create
static TEveManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
If global TEveManager* gEve is not set initialize it.
Definition:
TEveManager.cxx:895
TEveManager::Redraw3D
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
Definition:
TEveManager.h:168
TEveManager::SpawnNewScene
TEveScene * SpawnNewScene(const char *name, const char *title="")
Create a new scene.
Definition:
TEveManager.cxx:339
TEveViewer::AddScene
virtual void AddScene(TEveScene *scene)
Add 'scene' to the list of scenes.
Definition:
TEveViewer.cxx:261
TGeoSphere
Spherical shell class.
Definition:
TGeoSphere.h:18
TRandom3
Random number generator class based on M.
Definition:
TRandom3.h:27
TRandom::Integer
virtual UInt_t Integer(UInt_t imax)
Returns a random integer uniformly distributed on the interval [ 0, imax-1 ].
Definition:
TRandom.cxx:349
x
Double_t x[n]
Definition:
legend1.C:17
TGeant4Unit::rad
static constexpr double rad
Definition:
TGeant4SystemOfUnits.h:142
TGeant4Unit::s
static constexpr double s
Definition:
TGeant4SystemOfUnits.h:162
TMath::Cos
Double_t Cos(Double_t)
Definition:
TMath.h:629
TMath::Sin
Double_t Sin(Double_t)
Definition:
TMath.h:625
TMath::TwoPi
constexpr Double_t TwoPi()
Definition:
TMath.h:45
Author
Matevz Tadel
Definition in file
hierarchical_scene.C
.