VTK
dox/Filters/HyperTree/vtkHyperTreeGridToUnstructuredGrid.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkHyperTreeGridToUnstructuredGrid.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 =========================================================================*/
00037 #ifndef __vtkHyperTreeGridToUnstructuredGrid_h
00038 #define __vtkHyperTreeGridToUnstructuredGrid_h
00039 
00040 #include "vtkFiltersHyperTreeModule.h" // For export macro
00041 #include "vtkUnstructuredGridAlgorithm.h"
00042 
00043 class vtkCellArray;
00044 class vtkDataSetAttributes;
00045 class vtkHyperTreeGrid;
00046 class vtkPoints;
00047 
00048 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridToUnstructuredGrid : public vtkUnstructuredGridAlgorithm
00049 {
00050 public:
00051   static vtkHyperTreeGridToUnstructuredGrid* New();
00052   vtkTypeMacro( vtkHyperTreeGridToUnstructuredGrid, vtkUnstructuredGridAlgorithm );
00053   void PrintSelf( ostream&, vtkIndent );
00054 
00055 protected:
00056   vtkHyperTreeGridToUnstructuredGrid();
00057   ~vtkHyperTreeGridToUnstructuredGrid();
00058 
00059   unsigned int Dimension;
00060   unsigned int CellSize;
00061   unsigned int* Coefficients;
00062 
00063   virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
00064   virtual int FillInputPortInformation( int, vtkInformation* );
00065 
00066   void ProcessTrees();
00067   void RecursiveProcessTree( void* );
00068   void AddCell( vtkIdType inId, double* origin, double* size );
00069 
00070   vtkHyperTreeGrid* Input;
00071   vtkUnstructuredGrid* Output;
00072 
00073   vtkDataSetAttributes* InData;
00074   vtkDataSetAttributes* OutData;
00075 
00076   vtkPoints* Points;
00077   vtkCellArray* Cells;
00078 
00079 private:
00080   vtkHyperTreeGridToUnstructuredGrid(const vtkHyperTreeGridToUnstructuredGrid&);  // Not implemented.
00081   void operator=(const vtkHyperTreeGridToUnstructuredGrid&);  // Not implemented.
00082 };
00083 
00084 #endif