VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/HyperTree/vtkHyperTreeGridAxisCut.h
Go to the documentation of this file.
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