VTK
dox/IO/XML/vtkXMLRectilinearGridWriter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkXMLRectilinearGridWriter.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 =========================================================================*/
00031 #ifndef __vtkXMLRectilinearGridWriter_h
00032 #define __vtkXMLRectilinearGridWriter_h
00033 
00034 #include "vtkIOXMLModule.h" // For export macro
00035 #include "vtkXMLStructuredDataWriter.h"
00036 
00037 class vtkRectilinearGrid;
00038 
00039 class VTKIOXML_EXPORT vtkXMLRectilinearGridWriter : public vtkXMLStructuredDataWriter
00040 {
00041 public:
00042   static vtkXMLRectilinearGridWriter* New();
00043   vtkTypeMacro(vtkXMLRectilinearGridWriter,vtkXMLStructuredDataWriter);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00046   //BTX
00048 
00049   vtkRectilinearGrid* GetInput();
00050   //ETX
00052 
00054   const char* GetDefaultFileExtension();
00055 
00056 protected:
00057   vtkXMLRectilinearGridWriter();
00058   ~vtkXMLRectilinearGridWriter();
00059 
00060   // see algorithm for more info
00061   virtual int FillInputPortInformation(int port, vtkInformation* info);
00062 
00063   int WriteAppendedMode(vtkIndent indent);
00064   void WriteAppendedPiece(int index, vtkIndent indent);
00065   void WriteAppendedPieceData(int index);
00066   void WriteInlinePiece(vtkIndent indent);
00067   void GetInputExtent(int* extent);
00068   const char* GetDataSetName();
00069   vtkDataArray* CreateExactCoordinates(vtkDataArray* a, int xyz);
00070   void CalculateSuperclassFraction(float* fractions);
00071 
00072   // Coordinate array appended data positions.
00073   OffsetsManagerArray *CoordinateOM;
00074 
00075   virtual void AllocatePositionArrays();
00076   virtual void DeletePositionArrays();
00077 
00078 private:
00079   vtkXMLRectilinearGridWriter(const vtkXMLRectilinearGridWriter&);  // Not implemented.
00080   void operator=(const vtkXMLRectilinearGridWriter&);  // Not implemented.
00081 };
00082 
00083 #endif