VTK
vtkOpenGLGL2PSExporter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGL2PSExporter.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=========================================================================*/
77#ifndef vtkOpenGLGL2PSExporter_h
78#define vtkOpenGLGL2PSExporter_h
79
80#include "vtkIOExportOpenGLModule.h" // For export macro
81#include "vtkGL2PSExporter.h"
82
83#include "vtkNew.h" // For vtkNew
84
85class vtkActor;
86class vtkActor2D;
88class vtkCollection;
89class vtkCoordinate;
90class vtkImageData;
91class vtkIntArray;
94class vtkMatrix4x4;
95class vtkPath;
96class vtkProp;
99class vtkRenderer;
102class vtkTextActor;
103class vtkTextActor3D;
104class vtkTextMapper;
105class vtkTextProperty;
106
107class VTKIOEXPORTOPENGL_EXPORT vtkOpenGLGL2PSExporter : public vtkGL2PSExporter
108{
109public:
112 void PrintSelf(ostream& os, vtkIndent indent);
113
114protected:
117
118 void WriteData();
119
120 void SavePropVisibility(vtkRendererCollection *renCol,
121 vtkIntArray *volVis, vtkIntArray *actVis,
122 vtkIntArray *act2dVis);
123 void RestorePropVisibility(vtkRendererCollection *renCol,
124 vtkIntArray *volVis, vtkIntArray *actVis,
125 vtkIntArray *act2dVis);
126 void Turn3DPropsOff(vtkRendererCollection *renCol);
127 void Turn2DPropsOff(vtkRendererCollection *renCol);
128 void GetVisibleContextActors(vtkPropCollection *contextActors,
129 vtkRendererCollection *renCol);
130 void SetPropVisibilities(vtkPropCollection *col, int vis);
131
132 void DrawSpecialProps(vtkCollection *propCol, vtkRendererCollection *renCol);
134
138 virtual void HandleSpecialProp(vtkProp *prop, vtkRenderer *ren);
139 void DrawBillboardTextActor3D(vtkBillboardTextActor3D *textAct,
140 vtkRenderer *ren);
141 void DrawTextActor(vtkTextActor *textAct, vtkRenderer *ren);
142 void DrawTextActor3D(vtkTextActor3D *textAct, vtkRenderer *ren);
143 void DrawTextMapper(vtkTextMapper *textMap, vtkActor2D *textAct,
144 vtkRenderer *ren);
145 void DrawLabeledDataMapper(vtkLabeledDataMapper *mapper, vtkRenderer *ren);
146 void DrawLabeledContourMapper(vtkActor *act, vtkLabeledContourMapper *mapper,
147 vtkRenderer *ren);
148 void DrawScalarBarActor(vtkScalarBarActor *bar, vtkRenderer *ren);
149 void DrawViewportTextOverlay(const char *string, vtkTextProperty *tprop,
150 vtkCoordinate *coord, vtkRenderer *ren);
152
157 void CopyPixels(int copyRect[4], vtkRenderer *ren);
158
159 void DrawContextActors(vtkPropCollection *contextActs,
160 vtkRendererCollection *renCol);
161
163
164private:
165 vtkOpenGLGL2PSExporter(const vtkOpenGLGL2PSExporter&) VTK_DELETE_FUNCTION;
166 void operator=(const vtkOpenGLGL2PSExporter&) VTK_DELETE_FUNCTION;
167};
168
169#endif
a actor that draws 2D data
Definition: vtkActor2D.h:46
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
Renders pixel-aligned text, facing the camera, anchored at a 3D point.
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
Definition: vtkCoordinate.h:71
export a scene as a PostScript file using GL2PS.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:46
Draw labeled isolines.
draw text labels at dataset points
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
Allocate and hold a VTK object.
Definition: vtkNew.h:68
OpenGL2 implementation of GL2PS exporter.
static vtkOpenGLGL2PSExporter * New()
concrete dataset representing a path defined by Bezier curves.
Definition: vtkPath.h:36
a list of 3D props
a list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:48
abstract specification for renderers
Definition: vtkRenderer.h:64
Create a scalar bar with labels.
An actor that displays text.
An actor that displays text.
Definition: vtkTextActor.h:57
2D text annotation
Definition: vtkTextMapper.h:54
represent text properties.