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

# 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 =========================================================================*/
    00055 #ifndef __vtkExporter_h
    00056 #define __vtkExporter_h
    00057
    00058 #include "vtkObject.h"
    00059 class vtkRenderWindow;
    00060
    00061 class VTK_RENDERING_EXPORT vtkExporter : public vtkObject
    00062 {
    00063 public:
    00064   vtkTypeRevisionMacro(vtkExporter,vtkObject);
    00065   void PrintSelf(ostream& os, vtkIndent indent);
    00066
    00069   virtual void Write();
    00070
    00072   void Update();
    00073
    00075
    00076   virtual void SetRenderWindow(vtkRenderWindow*);
    00077   vtkGetObjectMacro(RenderWindow,vtkRenderWindow);
    00079
    00081
    00083   void SetInput(vtkRenderWindow *renWin) {this->SetRenderWindow(renWin);};
    00084   vtkRenderWindow *GetInput() {return this->GetRenderWindow();};
    00086
    00089   void SetStartWrite(void (*f)(void *), void *arg);
    00090
    00093   void SetEndWrite(void (*f)(void *), void *arg);
    00094
    00096   void SetStartWriteArgDelete(void (*f)(void *));
    00097
    00099   void SetEndWriteArgDelete(void (*f)(void *));
    00100
    00102   unsigned long GetMTime();
    00103
    00104 protected:
    00105   vtkExporter();
    00106   ~vtkExporter();
    00107
    00108   vtkRenderWindow *RenderWindow;
    00109   virtual void WriteData() = 0;
    00110
    00111   void (*StartWrite)(void *);
    00112   void (*StartWriteArgDelete)(void *);
    00113   void *StartWriteArg;
    00114   void (*EndWrite)(void *);
    00115   void (*EndWriteArgDelete)(void *);
    00116   void *EndWriteArg;
    00117 private:
    00118   vtkExporter(const vtkExporter&);  // Not implemented.
    00119   void operator=(const vtkExporter&);  // Not implemented.
    00120 };
    00121
    00122 #endif
    00123
    00124