ROOT
Version v6.32
master
v6.34
v6.30
v6.28
v6.26
v6.24
v6.22
v6.20
v6.18
v6.16
v6.14
v6.12
v6.10
v6.08
v6.06
Reference Guide
►
ROOT
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
arrow_standalone.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_eve
3
/// How to use EVE without the standard window.
4
/// Type
5
/// `gEve->GetBrowser()->MapWindow()`
6
/// to bring it up for object interaction, debugging, etc.
7
///
8
/// \image html eve_arrow_standalone.png
9
/// \macro_code
10
///
11
/// \author Matevz Tadel
12
13
void
arrow_standalone
()
14
{
15
TEveManager::Create
(
kFALSE
);
16
17
// ----------------------------------------------------------------------
18
19
auto
mf
=
new
TGMainFrame
(
gClient
->GetRoot(), 800, 400,
20
kHorizontalFrame
);
21
mf
->SetWindowName(
"Arrow Foo"
);
22
23
// ----------------------------------------------------------------------
24
25
auto
evf
=
new
TGCompositeFrame
(
mf
, 400, 400);
26
mf
->AddFrame(
evf
,
new
TGLayoutHints
(
kLHintsNormal
|
27
kLHintsExpandX
|
kLHintsExpandY
));
28
29
auto
ev
=
new
TGLEmbeddedViewer
(
evf
);
30
evf
->AddFrame(
ev
->GetFrame(),
31
new
TGLayoutHints
(
kLHintsNormal
|
32
kLHintsExpandX
|
kLHintsExpandY
));
33
34
auto
eve_v
=
new
TEveViewer
(
"YourViewer"
);
35
eve_v
->SetGLViewer(
ev
,
ev
->GetFrame());
36
eve_v
->IncDenyDestroy();
37
eve_v
->AddScene(
gEve
->
GetEventScene
());
38
gEve
->
GetViewers
()->
AddElement
(
eve_v
);
39
40
// ----------------------------------------------------------------------
41
42
// To create embedded canvas ... no menus on top.
43
44
// TRootEmbeddedCanvas* ec =
45
// new TRootEmbeddedCanvas("EmbeddedCanvas", mf, 400, 400);
46
// mf->AddFrame(ec, new TGLayoutHints(kLHintsNormal |
47
// kLHintsExpandX | kLHintsExpandY));
48
49
// --------------------------------
50
51
// This one is tricky - must be after embedded canvas but before std canvas!
52
mf
->MapSubwindows();
53
54
// --------------------------------
55
56
// To create full canvas with menus.
57
58
mf
->SetEditable();
59
auto
c
=
new
TCanvas
(
"Foo"
,
"Bar"
, 400, 400);
60
mf
->SetEditable(
kFALSE
);
61
62
// ----------------------------------------------------------------------
63
64
mf
->Layout();
65
mf
->MapWindow();
66
67
// ----------------------------------------------------------------------
68
69
// Populate the viewer ... here we just call the arrow.C.
70
71
TEveUtil::Macro
(
"arrow.C"
);
72
}
kHorizontalFrame
@ kHorizontalFrame
Definition
GuiTypes.h:382
c
#define c(i)
Definition
RSha256.hxx:101
kFALSE
constexpr Bool_t kFALSE
Definition
RtypesCore.h:101
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
gEve
R__EXTERN TEveManager * gEve
Definition
TEveManager.h:243
gClient
#define gClient
Definition
TGClient.h:156
kLHintsExpandY
@ kLHintsExpandY
Definition
TGLayout.h:31
kLHintsNormal
@ kLHintsNormal
Definition
TGLayout.h:32
kLHintsExpandX
@ kLHintsExpandX
Definition
TGLayout.h:30
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TEveManager::GetViewers
TEveViewerList * GetViewers() const
Definition
TEveManager.h:145
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:887
TEveManager::GetEventScene
TEveScene * GetEventScene() const
Definition
TEveManager.h:148
TEveUtil::Macro
static void Macro(const char *mac)
Execute macro 'mac'. Do not reload the macro.
Definition
TEveUtil.cxx:164
TEveViewerList::AddElement
void AddElement(TEveElement *el) override
Call base-class implementation.
Definition
TEveViewer.cxx:358
TEveViewer
Eve representation of TGLViewer.
Definition
TEveViewer.h:31
TGCompositeFrame
The base class for composite widgets (menu bars, list boxes, etc.).
Definition
TGFrame.h:287
TGLEmbeddedViewer
Minimal GL-viewer that can be embedded in a standard ROOT frames.
Definition
TGLEmbeddedViewer.h:24
TGLayoutHints
This class describes layout hints used by the layout classes.
Definition
TGLayout.h:50
TGMainFrame
Defines top level windows that interact with the system Window Manager.
Definition
TGFrame.h:397
tutorials
eve
arrow_standalone.C
ROOT v6-32 - Reference Guide Generated on Wed Apr 16 2025 05:41:09 (GVA Time) using Doxygen 1.10.0