00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkXMLHierarchicalBoxDataWriter.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 __vtkXMLHierarchicalBoxDataWriter_h 00024 #define __vtkXMLHierarchicalBoxDataWriter_h 00025 00026 #include "vtkXMLCompositeDataWriter.h" 00027 00028 class VTK_IO_EXPORT vtkXMLHierarchicalBoxDataWriter : public vtkXMLCompositeDataWriter 00029 { 00030 public: 00031 static vtkXMLHierarchicalBoxDataWriter* New(); 00032 vtkTypeMacro(vtkXMLHierarchicalBoxDataWriter, vtkXMLCompositeDataWriter); 00033 void PrintSelf(ostream& os, vtkIndent indent); 00034 00036 00037 virtual const char* GetDefaultFileExtension() 00038 { return "vth"; } 00040 00041 //BTX 00042 protected: 00043 vtkXMLHierarchicalBoxDataWriter(); 00044 ~vtkXMLHierarchicalBoxDataWriter(); 00045 00046 virtual int FillInputPortInformation(int port, vtkInformation* info); 00047 00048 // Fills up this->AMRBoxes, this->AMRBoxDims with boxes for the dataset. 00049 virtual void FillDataTypes(vtkCompositeDataSet*); 00050 00051 // Internal method called recursively to create the xml tree for the children 00052 // of compositeData. 00053 virtual int WriteComposite(vtkCompositeDataSet* compositeData, 00054 vtkXMLDataElement* parent, int &writerIdx); 00055 00056 int *AMRBoxes; 00057 int *AMRBoxDims; 00058 private: 00059 vtkXMLHierarchicalBoxDataWriter(const vtkXMLHierarchicalBoxDataWriter&); // Not implemented. 00060 void operator=(const vtkXMLHierarchicalBoxDataWriter&); // Not implemented. 00061 //ETX 00062 }; 00063 00064 #endif 00065 00066