VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Rendering
vtkOpenGLExtensionManager.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
3
/*=========================================================================
4
5
Program: Visualization Toolkit
6
Module: vtkOpenGLExtensionManager.h
7
8
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
9
All rights reserved.
10
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
11
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notice for more information.
15
16
Copyright 2003 Sandia Corporation.
17
Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
18
license for use of this work by or on behalf of the
19
U.S. Government. Redistribution and use in source and binary forms, with
20
or without modification, are permitted provided that this Notice and any
21
statement of authorship are reproduced on all copies.
22
23
=========================================================================*/
24
126
#ifndef __vtkOpenGLExtensionManager_h
127
#define __vtkOpenGLExtensionManager_h
128
129
#include <
vtkObject.h
>
130
#include <
vtkWeakPointer.h
>
// needed for vtkWeakPointer.
131
132
class
vtkRenderWindow
;
133
134
//BTX
135
extern
"C"
{
136
#ifdef _WIN32
137
#include <vtkOpenGL.h>
// Needed for WINAPI
138
typedef
int (WINAPI *
vtkOpenGLExtensionManagerFunctionPointer
)(void);
139
#else
140
typedef
void (*
vtkOpenGLExtensionManagerFunctionPointer
)(void);
141
#endif
142
}
143
//ETX
144
145
class
VTK_RENDERING_EXPORT
vtkOpenGLExtensionManager
:
public
vtkObject
146
{
147
public
:
148
vtkTypeMacro(
vtkOpenGLExtensionManager
,
vtkObject
);
149
static
vtkOpenGLExtensionManager
*
New
();
150
void
PrintSelf
(ostream &os,
vtkIndent
indent);
151
153
155
vtkRenderWindow
* GetRenderWindow();
156
virtual
void
SetRenderWindow(
vtkRenderWindow
*renwin);
158
160
virtual
void
Update();
161
163
165
vtkGetStringMacro(ExtensionsString);
167
169
virtual
int
ExtensionSupported(
const
char
*
name
);
170
171
//BTX
173
175
virtual
vtkOpenGLExtensionManagerFunctionPointer
GetProcAddress(
176
const
char
*fname);
177
//ETX
179
184
virtual
void
LoadExtension(
const
char
*
name
);
185
192
virtual
int
LoadSupportedExtension(
const
char
*
name
);
193
194
226
virtual
void
LoadCorePromotedExtension(
const
char
*
name
);
227
229
231
virtual
void
LoadAsARBExtension(
const
char
*
name
);
232
//BTX
233
protected
:
234
vtkOpenGLExtensionManager
();
235
virtual
~
vtkOpenGLExtensionManager
();
237
238
239
int
OwnRenderWindow
;
240
char
*
ExtensionsString
;
241
242
vtkTimeStamp
BuildTime
;
243
244
virtual
void
ReadOpenGLExtensions();
245
251
virtual
int
SafeLoadExtension(
const
char
*
name
);
252
253
private
:
254
vtkOpenGLExtensionManager
(
const
vtkOpenGLExtensionManager
&);
// Not implemented
255
void
operator=(
const
vtkOpenGLExtensionManager
&);
// Not implemented
256
257
vtkWeakPointer<vtkRenderWindow>
RenderWindow;
258
//ETX
259
};
260
261
#endif //__vtkOpenGLExtensionManager
Generated on Wed May 30 2012 13:22:22 for VTK by
1.8.1