VTK
9.0.20210125
Rendering
OpenGL2
vtkOpenGLGL2PSHelper.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkOpenGLGL2PSHelper.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
15
27
#ifndef vtkOpenGLGL2PSHelper_h
28
#define vtkOpenGLGL2PSHelper_h
29
30
#include "
vtkObject.h
"
31
#include "vtkRenderingOpenGL2Module.h"
// For export macro
32
#include <string>
// For string usage
33
34
class
vtkActor
;
35
class
vtkImageData
;
36
class
vtkMatrix4x4
;
37
class
vtkPath
;
38
class
vtkRenderer
;
39
class
vtkRenderWindow
;
40
class
vtkTextProperty
;
41
class
vtkTransformFeedback
;
42
43
class
VTKRENDERINGOPENGL2_EXPORT
vtkOpenGLGL2PSHelper
:
public
vtkObject
44
{
45
public
:
46
static
vtkOpenGLGL2PSHelper
*
New
();
47
vtkAbstractTypeMacro(
vtkOpenGLGL2PSHelper
,
vtkObject
);
48
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
49
51
54
static
vtkOpenGLGL2PSHelper
* GetInstance();
55
static
void
SetInstance(
vtkOpenGLGL2PSHelper
*);
57
59
62
vtkGetMacro(RenderWindow,
vtkRenderWindow
*);
64
65
enum
State
66
{
67
Inactive = 0,
68
Background
,
69
Capture
70
};
71
73
83
vtkGetMacro(ActiveState, State);
85
87
90
vtkSetMacro(PointSize,
float
);
91
vtkGetMacro(PointSize,
float
);
93
95
98
vtkSetMacro(LineWidth,
float
);
99
vtkGetMacro(LineWidth,
float
);
101
103
107
vtkSetMacro(LineStipple,
unsigned
short
);
108
vtkGetMacro(LineStipple,
unsigned
short
);
110
112
118
virtual
void
ProcessTransformFeedback(
119
vtkTransformFeedback
* tfc,
vtkRenderer
* ren,
vtkActor
* act) = 0;
120
virtual
void
ProcessTransformFeedback(
121
vtkTransformFeedback
* tfc,
vtkRenderer
* ren,
unsigned
char
col[4]) = 0;
122
virtual
void
ProcessTransformFeedback(
123
vtkTransformFeedback
* tfc,
vtkRenderer
* ren,
float
col[4]) = 0;
125
133
virtual
void
DrawString(
const
std::string
& str,
vtkTextProperty
* tprop,
double
pos[3],
134
double
backgroundDepth,
vtkRenderer
* ren) = 0;
135
147
virtual
void
DrawPath(
vtkPath
* path,
double
rasterPos[3],
double
windowPos[2],
148
unsigned
char
rgba[4],
double
scale
[2] =
nullptr
,
double
rotateAngle = 0.0,
149
float
strokeWidth = -1,
const
char
* label =
nullptr
) = 0;
150
156
virtual
void
Draw3DPath(
vtkPath
* path,
vtkMatrix4x4
* actorMatrix,
double
rasterPos[3],
157
unsigned
char
actorColor[4],
vtkRenderer
* ren,
const
char
* label =
nullptr
) = 0;
158
163
virtual
void
DrawImage(
vtkImageData
*
image
,
double
pos[3]) = 0;
164
165
protected
:
166
friend
class
vtkOpenGLGL2PSExporter
;
167
168
vtkOpenGLGL2PSHelper
();
169
~
vtkOpenGLGL2PSHelper
()
override
;
170
171
vtkSetMacro(ActiveState,
State
);
172
vtkSetMacro(
TextAsPath
,
bool
);
173
vtkSetMacro(
RenderWindow
,
vtkRenderWindow
*);
// Doesn't ref count, not needed.
174
vtkSetMacro(
PointSizeFactor
,
float
);
175
vtkSetMacro(
LineWidthFactor
,
float
);
176
177
static
vtkOpenGLGL2PSHelper
*
Instance
;
178
179
vtkRenderWindow
*
RenderWindow
;
180
State
ActiveState
;
181
bool
TextAsPath
;
182
float
PointSize
;
183
float
LineWidth
;
184
float
PointSizeFactor
;
185
float
LineWidthFactor
;
186
unsigned
short
LineStipple
;
187
188
private
:
189
vtkOpenGLGL2PSHelper
(
const
vtkOpenGLGL2PSHelper
&) =
delete
;
190
void
operator=(
const
vtkOpenGLGL2PSHelper
&) =
delete
;
191
};
192
193
#endif // vtkOpenGLGL2PSHelper_h
vtkOpenGLGL2PSHelper::ActiveState
State ActiveState
Definition:
vtkOpenGLGL2PSHelper.h:180
vtkOpenGLGL2PSHelper::LineStipple
unsigned short LineStipple
Definition:
vtkOpenGLGL2PSHelper.h:186
vtkX3D::scale
Definition:
vtkX3D.h:235
vtkOpenGLGL2PSHelper::TextAsPath
bool TextAsPath
Definition:
vtkOpenGLGL2PSHelper.h:181
vtkGL2PSExporter::PointSizeFactor
float PointSizeFactor
Definition:
vtkGL2PSExporter.h:368
vtkOpenGLGL2PSExporter
OpenGL2 implementation of GL2PS exporter.
Definition:
vtkOpenGLGL2PSExporter.h:32
vtkOpenGLGL2PSHelper::Background
No export active.
Definition:
vtkOpenGLGL2PSHelper.h:68
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkX3D::image
Definition:
vtkX3D.h:380
vtkPath
concrete dataset representing a path defined by Bezier curves.
Definition:
vtkPath.h:32
vtkOpenGLGL2PSHelper::PointSizeFactor
float PointSizeFactor
Definition:
vtkOpenGLGL2PSHelper.h:184
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:62
vtkOpenGLGL2PSHelper::State
State
Definition:
vtkOpenGLGL2PSHelper.h:65
vtkGL2PSExporter::TextAsPath
bool TextAsPath
Definition:
vtkGL2PSExporter.h:367
vtkOpenGLGL2PSHelper::LineWidthFactor
float LineWidthFactor
Definition:
vtkOpenGLGL2PSHelper.h:185
vtkGL2PSExporter::LineWidthFactor
float LineWidthFactor
Definition:
vtkGL2PSExporter.h:369
vtkOpenGLGL2PSHelper::Instance
static vtkOpenGLGL2PSHelper * Instance
Definition:
vtkOpenGLGL2PSHelper.h:175
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition:
vtkActor.h:45
vtkImageData
topologically and geometrically regular array of data
Definition:
vtkImageData.h:47
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:33
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition:
vtkMatrix4x4.h:35
vtkOpenGLGL2PSHelper::LineWidth
float LineWidth
Definition:
vtkOpenGLGL2PSHelper.h:183
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkObject.h
vtkOpenGLGL2PSHelper::PointSize
float PointSize
Definition:
vtkOpenGLGL2PSHelper.h:182
vtkTextProperty
represent text properties.
Definition:
vtkTextProperty.h:33
vtkX3D::string
Definition:
vtkX3D.h:496
vtkRenderer
abstract specification for renderers
Definition:
vtkRenderer.h:67
vtkOpenGLGL2PSHelper
Access GL2PS functionality.
Definition:
vtkOpenGLGL2PSHelper.h:43
vtkRenderWindow
create a window for renderers to draw into
Definition:
vtkRenderWindow.h:95
vtkExporter::RenderWindow
vtkRenderWindow * RenderWindow
Definition:
vtkExporter.h:127
vtkOpenGLGL2PSHelper::RenderWindow
vtkRenderWindow * RenderWindow
Definition:
vtkOpenGLGL2PSHelper.h:179
vtkTransformFeedback
Manages a TransformFeedback buffer.
Definition:
vtkTransformFeedback.h:40
Generated on Mon Jan 25 2021 21:31:43 for VTK by
1.8.16