ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
TVirtualGL.cxx
Go to the documentation of this file.
1
// @(#)root/base:$Id$
2
// Author: Valery Fine 05/03/97
3
4
/** \class TVirtualGL
5
6
The TVirtualGL class is an abstract base class defining the
7
OpenGL interface protocol. All interactions with OpenGL should be
8
done via the global pointer gVirtualGL. If the OpenGL library is
9
available this pointer is pointing to an instance of the TGLKernel
10
class which provides the actual interface to OpenGL. Using this
11
scheme of ABC we can use OpenGL in other parts of the framework
12
without having to link with the OpenGL library in case we don't
13
use the classes using OpenGL.
14
*/
15
16
#include "
TVirtualGL.h
"
17
#include "
TGlobal.h
"
18
19
20
21
TGLManager
* (*gPtr2GLManager)() =
nullptr
;
22
23
namespace
{
24
static
struct
AddPseudoGlobals {
25
AddPseudoGlobals() {
26
// User "gCling" as synonym for "libCore static initialization has happened".
27
// This code here must not trigger it.
28
TGlobalMappedFunction::MakeFunctor
(
"gGLManager"
,
"TVirtualGL*"
,
TGLManager::Instance
);
29
}
30
} gAddPseudoGlobals;
31
}
32
33
////////////////////////////////////////////////////////////////////////////////
34
35
TGLManager::TGLManager
() :
TNamed
(
"gGLManager"
,
""
)
36
{
37
}
38
39
////////////////////////////////////////////////////////////////////////////////
40
/// Return the global GL Manager.
41
42
TGLManager
*&
TGLManager::Instance
()
43
{
44
static
TGLManager
*
instance
=
nullptr
;
45
46
if
(
gPtr2GLManager
) {
47
instance
=
gPtr2GLManager
();
48
}
49
50
return
instance
;
51
}
52
53
54
55
instance
static Roo_reg_AGKInteg1D instance
Definition
RooAdaptiveGaussKronrodIntegrator1D.cxx:151
TGlobal.h
TVirtualGL.h
gPtr2GLManager
externTGLManager *(* gPtr2GLManager)()
Definition
TVirtualGL.h:160
TGLManager
Definition
TVirtualGL.h:70
TGLManager::Instance
static TGLManager *& Instance()
Return the global GL Manager.
Definition
TVirtualGL.cxx:42
TGLManager::TGLManager
TGLManager()
Definition
TVirtualGL.cxx:35
TGlobalMappedFunction::MakeFunctor
static void MakeFunctor(const char *name, const char *type, GlobFunc &func)
Definition
TGlobal.h:73
TNamed::TNamed
TNamed()
Definition
TNamed.h:38
core
base
src
TVirtualGL.cxx
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1