Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkExporter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkExporter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00042 #ifndef __vtkExporter_h 00043 #define __vtkExporter_h 00044 00045 #include "vtkObject.h" 00046 class vtkRenderWindow; 00047 00048 class VTK_RENDERING_EXPORT vtkExporter : public vtkObject 00049 { 00050 public: 00051 vtkTypeRevisionMacro(vtkExporter,vtkObject); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00056 virtual void Write(); 00057 00059 void Update(); 00060 00062 00063 virtual void SetRenderWindow(vtkRenderWindow*); 00064 vtkGetObjectMacro(RenderWindow,vtkRenderWindow); 00066 00068 00070 void SetInput(vtkRenderWindow *renWin) {this->SetRenderWindow(renWin);}; 00071 vtkRenderWindow *GetInput() {return this->GetRenderWindow();}; 00073 00076 void SetStartWrite(void (*f)(void *), void *arg); 00077 00080 void SetEndWrite(void (*f)(void *), void *arg); 00081 00083 void SetStartWriteArgDelete(void (*f)(void *)); 00084 00086 void SetEndWriteArgDelete(void (*f)(void *)); 00087 00089 unsigned long GetMTime(); 00090 00091 protected: 00092 vtkExporter(); 00093 ~vtkExporter(); 00094 00095 vtkRenderWindow *RenderWindow; 00096 virtual void WriteData() = 0; 00097 00098 void (*StartWrite)(void *); 00099 void (*StartWriteArgDelete)(void *); 00100 void *StartWriteArg; 00101 void (*EndWrite)(void *); 00102 void (*EndWriteArgDelete)(void *); 00103 void *EndWriteArg; 00104 private: 00105 vtkExporter(const vtkExporter&); // Not implemented. 00106 void operator=(const vtkExporter&); // Not implemented. 00107 }; 00108 00109 #endif 00110 00111