VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkXdmf3Writer.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 00028 #ifndef _vtkXdmf3Writer_h 00029 #define _vtkXdmf3Writer_h 00030 00031 #include "vtkIOXdmf3Module.h" // For export macro 00032 00033 #include "vtkDataObjectAlgorithm.h" 00034 00035 class VTKIOXDMF3_EXPORT vtkXdmf3Writer : public vtkDataObjectAlgorithm 00036 { 00037 public: 00038 static vtkXdmf3Writer *New(); 00039 vtkTypeMacro(vtkXdmf3Writer,vtkDataObjectAlgorithm); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00043 virtual void SetInputData(vtkDataObject* dobj); 00044 00046 00047 vtkSetStringMacro(FileName); 00048 vtkGetStringMacro(FileName); 00050 00054 virtual int Write(); 00055 00057 00059 vtkSetMacro(LightDataLimit, unsigned int); 00060 vtkGetMacro(LightDataLimit, unsigned int); 00062 00064 00066 vtkSetMacro(WriteAllTimeSteps, bool); 00067 vtkGetMacro(WriteAllTimeSteps, bool); 00068 vtkBooleanMacro(WriteAllTimeSteps, bool); 00070 00071 protected: 00072 vtkXdmf3Writer(); 00073 ~vtkXdmf3Writer(); 00074 00075 //Overridden to set up automatic loop over time steps. 00076 virtual int RequestInformation(vtkInformation*, 00077 vtkInformationVector**, 00078 vtkInformationVector*); 00079 //Overridden to continue automatic loop over time steps. 00080 virtual int RequestUpdateExtent(vtkInformation*, 00081 vtkInformationVector**, 00082 vtkInformationVector*); 00083 //Write out the input data objects as XDMF and HDF output files. 00084 virtual int RequestData(vtkInformation*, 00085 vtkInformationVector**, 00086 vtkInformationVector*); 00087 00088 char *FileName; 00089 unsigned int LightDataLimit; 00090 bool WriteAllTimeSteps; 00091 00092 private: 00093 vtkXdmf3Writer(const vtkXdmf3Writer&); // Not implemented 00094 void operator=(const vtkXdmf3Writer&); // Not implemented 00095 00096 class Internals; 00097 Internals *Internal; 00098 }; 00099 00100 #endif /* _vtkXdmf3Writer_h */