VTK
vtkExporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExporter.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 =========================================================================*/
38 #ifndef __vtkExporter_h
39 #define __vtkExporter_h
40 
41 #include "vtkObject.h"
42 class vtkRenderWindow;
43 
45 {
46 public:
47  vtkTypeMacro(vtkExporter,vtkObject);
48  void PrintSelf(ostream& os, vtkIndent indent);
49 
52  virtual void Write();
53 
55  void Update();
56 
58 
59  virtual void SetRenderWindow(vtkRenderWindow*);
60  vtkGetObjectMacro(RenderWindow,vtkRenderWindow);
62 
64 
66  void SetInput(vtkRenderWindow *renWin) {this->SetRenderWindow(renWin);};
67  vtkRenderWindow *GetInput() {return this->GetRenderWindow();};
69 
72  void SetStartWrite(void (*f)(void *), void *arg);
73 
76  void SetEndWrite(void (*f)(void *), void *arg);
77 
79  void SetStartWriteArgDelete(void (*f)(void *));
80 
82  void SetEndWriteArgDelete(void (*f)(void *));
83 
85  unsigned long GetMTime();
86 
87 protected:
88  vtkExporter();
89  ~vtkExporter();
90 
92  virtual void WriteData() = 0;
93 
94  void (*StartWrite)(void *);
95  void (*StartWriteArgDelete)(void *);
97  void (*EndWrite)(void *);
98  void (*EndWriteArgDelete)(void *);
99  void *EndWriteArg;
100 private:
101  vtkExporter(const vtkExporter&); // Not implemented.
102  void operator=(const vtkExporter&); // Not implemented.
103 };
104 
105 #endif
106 
107