VTK  9.5.20251103
vtkExporter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
27#ifndef vtkExporter_h
28#define vtkExporter_h
29
30#include "vtkDeprecation.h" // For deprecation macro
31#include "vtkIOExportModule.h" // For export macro
32#include "vtkObject.h"
33
34VTK_ABI_NAMESPACE_BEGIN
35class vtkRenderWindow;
36class vtkRenderer;
37
38class VTKIOEXPORT_EXPORT vtkExporter : public vtkObject
39{
40public:
41 vtkTypeMacro(vtkExporter, vtkObject);
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
49 virtual void Write();
50
55 void Update();
56
58
62 vtkGetObjectMacro(RenderWindow, vtkRenderWindow);
64
66
77 vtkGetObjectMacro(ActiveRenderer, vtkRenderer);
79
81
85 VTK_DEPRECATED_IN_9_6_0("Please use SetRenderWindow instead")
86 void SetInput(vtkRenderWindow* renWin) { this->SetRenderWindow(renWin); }
87 VTK_DEPRECATED_IN_9_6_0("Please use GetRenderWindow instead")
88 vtkRenderWindow* GetInput() { return this->GetRenderWindow(); }
90
95 void SetStartWrite(void (*f)(void*), void* arg);
96
101 void SetEndWrite(void (*f)(void*), void* arg);
102
106 void SetStartWriteArgDelete(void (*f)(void*));
107
111 void SetEndWriteArgDelete(void (*f)(void*));
112
117
118protected:
120 ~vtkExporter() override;
121
124 virtual void WriteData() = 0;
125
126 void (*StartWrite)(void*);
127 void (*StartWriteArgDelete)(void*);
129 void (*EndWrite)(void*);
130 void (*EndWriteArgDelete)(void*);
132
133private:
134 vtkExporter(const vtkExporter&) = delete;
135 void operator=(const vtkExporter&) = delete;
136};
137
138VTK_ABI_NAMESPACE_END
139#endif
abstract class to write a scene to a file
Definition vtkExporter.h:39
virtual void Write()
Write data to output.
~vtkExporter() override
vtkMTimeType GetMTime() override
Returns the MTime also considering the RenderWindow.
void * EndWriteArg
vtkRenderWindow * RenderWindow
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void WriteData()=0
void SetEndWrite(void(*f)(void *), void *arg)
Specify a function to be called after data is written.
void * StartWriteArg
void SetStartWrite(void(*f)(void *), void *arg)
Specify a function to be called before data is written.
vtkRenderer * ActiveRenderer
void SetStartWriteArgDelete(void(*f)(void *))
Set the arg delete method.
void SetEndWriteArgDelete(void(*f)(void *))
Set the arg delete method.
virtual void SetRenderWindow(vtkRenderWindow *)
Set/Get the rendering window that contains the scene to be written.
void Update()
Convenient alias for Write() method.
virtual void SetActiveRenderer(vtkRenderer *)
Set/Get the renderer that contains actors to be written.
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
create a window for renderers to draw into
abstract specification for renderers
#define VTK_DEPRECATED_IN_9_6_0(reason)
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:322
#define VTK_UNBLOCKTHREADS