Logo ROOT  
Reference Guide
gldemos.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_gl
3/// Menu for running GL demos.
4///
5/// \macro_code
6///
7/// \author Timur Pocheptsov
8
9void gldemos()
10{
11 TControlBar *bar = new TControlBar("vertical", "GL painter demo",20,20);
12 bar->AddButton("Help on demos", "help()", "Description");
13 bar->AddButton("glsurfaces", ".x $ROOTSYS/tutorials/gl/glsurfaces.C", "Surface painter example");
14 bar->AddButton("glrose", ".x $ROOTSYS/tutorials/gl/glrose.C", "Surface in polar system");
15 bar->AddButton("gltf3", ".x $ROOTSYS/tutorials/gl/gltf3.C", "TF3 painter");
16 bar->AddButton("glbox", ".x $ROOTSYS/tutorials/gl/glbox.C", "BOX painter");
17 bar->AddButton("glparametric", ".x $ROOTSYS/tutorials/gl/glparametric.C", "Parametric surface");
18 bar->Show();
19}
20
21void help()
22{
23 new TCanvas("chelp","Help on gldemos",200,10,700,600);
24
25 TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98, "These demos show different gl painters.");
26 title->SetFillColor(32);
27 title->Draw();
28
29 TPaveText *hdemo = new TPaveText(0.04, 0.04, 0.96, 0.8);
30 hdemo->SetTextAlign(12);
31 hdemo->SetTextFont(52);
32 hdemo->SetTextColor(kBlue);
33 hdemo->AddText("1. Glsurfaces demo shows glsurf4, glsurf1, glsurf3, glsurf1cyl, glsurfpol, gltf3 options.");
34 hdemo->AddText("2. Glrose demontrates \"glsurf2pol\" drawing option and user-defined palette.");
35 hdemo->AddText("3. Gltf3 demo shows \"gltf3\" option.");
36 hdemo->AddText("4. Glbox demo shows \"glbox\" and \"glbox1\" options for TH3.");
37 hdemo->AddText("5. Glparametric demo shows how to define and display parametric surfaces.");
38 hdemo->AddText("You can zoom any plot: press 'J', 'K', 'j', 'k' keys, or use mouse wheel.");
39 hdemo->AddText("Rotate any plot:");
40 hdemo->AddText(" ---select plot with mouse cursor,");
41 hdemo->AddText(" ---move mouse cursor, pressing and holding left mouse button ");
42 hdemo->AddText("Pan plot:");
43 hdemo->AddText(" ---select with mouse cursor a part of a plot, other than back box planes ,");
44 hdemo->AddText(" ---move mouse cursor, pressing and holding middle mouse button ");
45 hdemo->AddText("Selected part of a plot is higlighted (TF3 higlighting is not implemented yet.)");
46 hdemo->AddText("You can select one of back box planes, press middle mouse button and move cursor-");
47 hdemo->AddText("this will create \"slice\" (TF does not support yet).");
48 hdemo->AddText("After the slice was created, you can project it on a back box");
49 hdemo->AddText(" ---press key 'p' (now implemented only for surf options ).");
50 hdemo->AddText("Left double click removes all slices/projections.");
51
52 hdemo->Draw();
53
54}
@ kBlue
Definition: Rtypes.h:66
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:37
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition: TAttText.h:42
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition: TAttText.h:44
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition: TAttText.h:46
The Canvas class.
Definition: TCanvas.h:23
A Control Bar is a fully user configurable tool which provides fast access to frequently used operati...
Definition: TControlBar.h:26
A Pave (see TPave) with a text centered in the Pave.
Definition: TPaveLabel.h:20
void Draw(Option_t *option="") override
Draw this pavelabel with its current attributes.
Definition: TPaveLabel.cxx:87
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
Definition: TPaveText.cxx:187
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:238
static constexpr double bar