00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkHyperOctreeToUniformGridFilter.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 __vtkHyperOctreeToUniformGridFilter_h 00032 #define __vtkHyperOctreeToUniformGridFilter_h 00033 00034 #include "vtkImageAlgorithm.h" 00035 00036 class vtkHyperOctreeCursor; 00037 class vtkCellData; 00038 class vtkDataSetAttributes; 00039 00040 class VTK_GRAPHICS_EXPORT vtkHyperOctreeToUniformGridFilter : public vtkImageAlgorithm 00041 { 00042 public: 00043 static vtkHyperOctreeToUniformGridFilter *New(); 00044 vtkTypeMacro(vtkHyperOctreeToUniformGridFilter,vtkImageAlgorithm); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00047 protected: 00048 vtkHyperOctreeToUniformGridFilter(); 00049 ~vtkHyperOctreeToUniformGridFilter(); 00050 00051 int RequestInformation (vtkInformation * vtkNotUsed(request), 00052 vtkInformationVector **inputVector, 00053 vtkInformationVector *outputVector); 00054 00055 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00056 virtual int FillInputPortInformation(int port, vtkInformation *info); 00057 00058 void CopyCellData(int cellExtent[6]); 00059 00060 // Variables used by generate recursively. 00061 // It avoids to pass to much argument. 00062 vtkDataSetAttributes *InputCD; 00063 vtkCellData *OutputCD; 00064 vtkHyperOctreeCursor *Cursor; 00065 int YExtent; 00066 int ZExtent; 00067 vtkImageData *Output; 00068 00069 private: 00070 vtkHyperOctreeToUniformGridFilter(const vtkHyperOctreeToUniformGridFilter&); // Not implemented. 00071 void operator=(const vtkHyperOctreeToUniformGridFilter&); // Not implemented. 00072 }; 00073 00074 #endif