VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkHyperTreeGridGeometry.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 =========================================================================*/ 00033 #ifndef vtkHyperTreeGridGeometry_h 00034 #define vtkHyperTreeGridGeometry_h 00035 00036 #include "vtkFiltersHyperTreeModule.h" // For export macro 00037 #include "vtkPolyDataAlgorithm.h" 00038 00039 class vtkCellArray; 00040 class vtkDataSetAttributes; 00041 class vtkHyperTreeGrid; 00042 class vtkPoints; 00043 00044 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridGeometry : public vtkPolyDataAlgorithm 00045 { 00046 public: 00047 static vtkHyperTreeGridGeometry* New(); 00048 vtkTypeMacro( vtkHyperTreeGridGeometry, vtkPolyDataAlgorithm ); 00049 void PrintSelf( ostream&, vtkIndent ); 00050 00051 protected: 00052 vtkHyperTreeGridGeometry(); 00053 ~vtkHyperTreeGridGeometry(); 00054 00055 virtual int RequestData( vtkInformation*, 00056 vtkInformationVector**, vtkInformationVector* ); 00057 virtual int FillInputPortInformation( int, vtkInformation* ); 00058 00059 void ProcessTrees(); 00060 void RecursiveProcessTree( void* ); 00061 void ProcessLeaf1D( void* ); 00062 void ProcessLeaf2D( void* ); 00063 void ProcessLeaf3D( void* ); 00064 void AddFace( vtkIdType inId, double* origin, double* size, 00065 int offset, int orientation ); 00066 00067 vtkHyperTreeGrid* Input; 00068 vtkPolyData* Output; 00069 00070 vtkDataSetAttributes* InData; 00071 vtkDataSetAttributes* OutData; 00072 00073 vtkPoints* Points; 00074 vtkCellArray* Cells; 00075 00076 private: 00077 vtkHyperTreeGridGeometry(const vtkHyperTreeGridGeometry&); // Not implemented. 00078 void operator=(const vtkHyperTreeGridGeometry&); // Not implemented. 00079 }; 00080 00081 #endif