VTK
dox/IO/vtkCompositeDataWriter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkCompositeDataWriter.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 =========================================================================*/
00023 #ifndef __vtkCompositeDataWriter_h
00024 #define __vtkCompositeDataWriter_h
00025 
00026 #include "vtkDataWriter.h"
00027 
00028 class vtkCompositeDataSet;
00029 class vtkMultiPieceDataSet;
00030 class vtkMultiBlockDataSet;
00031 class vtkHierarchicalBoxDataSet;
00032 
00033 class VTK_IO_EXPORT vtkCompositeDataWriter : public vtkDataWriter
00034 {
00035 public:
00036   static vtkCompositeDataWriter* New();
00037   vtkTypeMacro(vtkCompositeDataWriter, vtkDataWriter);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041 
00042   vtkCompositeDataSet* GetInput();
00043   vtkCompositeDataSet* GetInput(int port);
00045 
00046 //BTX
00047 protected:
00048   vtkCompositeDataWriter();
00049   ~vtkCompositeDataWriter();
00050 
00052 
00053   virtual void WriteData();
00054   virtual int FillInputPortInformation(int port, vtkInformation *info);
00056 
00057   bool WriteCompositeData(ostream*, vtkMultiBlockDataSet*);
00058   bool WriteCompositeData(ostream*, vtkMultiPieceDataSet*);
00059   bool WriteCompositeData(ostream*, vtkHierarchicalBoxDataSet*);
00060   bool WriteBlock(ostream* fp, vtkDataObject* block);
00061 
00062 private:
00063   vtkCompositeDataWriter(const vtkCompositeDataWriter&); // Not implemented
00064   void operator=(const vtkCompositeDataWriter&); // Not implemented
00065 //ETX
00066 };
00067 
00068 #endif