00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkXMLPMultiBlockDataWriter.h,v $ 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 =========================================================================*/ 00025 #ifndef __vtkXMLPMultiBlockDataWriter_h 00026 #define __vtkXMLPMultiBlockDataWriter_h 00027 00028 #include "vtkXMLMultiBlockDataWriter.h" 00029 00030 class vtkMultiProcessController; 00031 00032 class VTK_PARALLEL_EXPORT vtkXMLPMultiBlockDataWriter : public vtkXMLMultiBlockDataWriter 00033 { 00034 public: 00035 static vtkXMLPMultiBlockDataWriter* New(); 00036 vtkTypeRevisionMacro(vtkXMLPMultiBlockDataWriter, vtkXMLMultiBlockDataWriter); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00040 00044 virtual void SetController(vtkMultiProcessController*); 00045 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00047 00048 //BTX 00049 protected: 00050 vtkXMLPMultiBlockDataWriter(); 00051 ~vtkXMLPMultiBlockDataWriter(); 00052 00059 virtual void FillDataTypes(vtkCompositeDataSet*); 00060 00062 00066 int WriteNonCompositeData(vtkDataObject* dObj, vtkXMLDataElement* datasetXML, 00067 int &writerIdx); 00069 00070 vtkMultiProcessController* Controller; 00071 00072 private: 00073 vtkXMLPMultiBlockDataWriter(const vtkXMLPMultiBlockDataWriter&); // Not implemented. 00074 void operator=(const vtkXMLPMultiBlockDataWriter&); // Not implemented. 00075 00076 class vtkInternal; 00077 vtkInternal* Internal; 00078 //ETX 00079 }; 00080 00081 #endif 00082 00083