VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkHyperTreeGridAxisCut.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 =========================================================================*/ 00038 #ifndef vtkHyperTreeGridAxisCut_h 00039 #define vtkHyperTreeGridAxisCut_h 00040 00041 #include "vtkFiltersHyperTreeModule.h" // For export macro 00042 #include "vtkPolyDataAlgorithm.h" 00043 00044 class vtkCellArray; 00045 class vtkDataSetAttributes; 00046 class vtkHyperTreeGrid; 00047 class vtkPoints; 00048 00049 class VTKFILTERSHYPERTREE_EXPORT vtkHyperTreeGridAxisCut : public vtkPolyDataAlgorithm 00050 { 00051 public: 00052 static vtkHyperTreeGridAxisCut* New(); 00053 vtkTypeMacro( vtkHyperTreeGridAxisCut, vtkPolyDataAlgorithm ); 00054 void PrintSelf( ostream&, vtkIndent ); 00055 00057 00058 vtkSetMacro(PlaneNormalAxis, int); 00059 vtkGetMacro(PlaneNormalAxis, int); 00061 00063 00064 vtkSetMacro(PlanePosition, double); 00065 vtkGetMacro(PlanePosition, double); 00067 00068 protected: 00069 vtkHyperTreeGridAxisCut(); 00070 ~vtkHyperTreeGridAxisCut(); 00071 00072 virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* ); 00073 virtual int FillInputPortInformation( int, vtkInformation* ); 00074 00075 void ProcessTrees(); 00076 void RecursiveProcessTree( void* ); 00077 void ProcessLeaf3D( void* ); 00078 void AddFace( vtkIdType inId, double* origin, double* size, 00079 double offset0, int axis0, int axis1, int axis2 ); 00080 00081 int PlaneNormalAxis; 00082 double PlanePosition; 00083 00084 vtkHyperTreeGrid* Input; 00085 vtkPolyData* Output; 00086 00087 vtkDataSetAttributes* InData; 00088 vtkDataSetAttributes* OutData; 00089 00090 vtkPoints* Points; 00091 vtkCellArray* Cells; 00092 00093 private: 00094 vtkHyperTreeGridAxisCut(const vtkHyperTreeGridAxisCut&); // Not implemented. 00095 void operator=(const vtkHyperTreeGridAxisCut&); // Not implemented. 00096 }; 00097 00098 #endif