VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/Parallel/vtkPOutlineFilterInternals.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPOutlineFilterInternals.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 =========================================================================*/
00023 #ifndef vtkPOutlineFilterInternals_h
00024 #define vtkPOutlineFilterInternals_h
00025 
00026 #include "vtkFiltersParallelModule.h" // For export macro
00027 #include "vtkBoundingBox.h" //  needed for vtkBoundingBox.
00028 #include <vector> // needed for std::vector
00029 
00030 class vtkBoundingBox;
00031 class vtkDataObject;
00032 class vtkDataObjectTree;
00033 class vtkDataSet;
00034 class vtkInformation;
00035 class vtkInformationVector;
00036 class vtkMultiProcessController;
00037 class vtkOverlappingAMR;
00038 class vtkPolyData;
00039 class vtkUniformGridAMR;
00040 
00041 class VTKFILTERSPARALLEL_EXPORT vtkPOutlineFilterInternals
00042 {
00043 public:
00044 
00045   vtkPOutlineFilterInternals();
00046   virtual ~vtkPOutlineFilterInternals();
00047   void SetController(vtkMultiProcessController*);
00048   int RequestData(vtkInformation *,
00049                   vtkInformationVector **,
00050                   vtkInformationVector *);
00051   void SetCornerFactor(double cornerFactor);
00052   void SetIsCornerSource(bool value);
00053 
00054 private:
00055 
00056   int RequestData(vtkOverlappingAMR* amr, vtkPolyData* output);
00057   int RequestData(vtkUniformGridAMR* amr, vtkPolyData* output);
00058   int RequestData(vtkDataObjectTree* cd, vtkPolyData* output);
00059   int RequestData(vtkDataSet* ds, vtkPolyData* output);
00060 
00061 
00062   void CollectCompositeBounds(vtkDataObject* input);
00063 
00064   std::vector<vtkBoundingBox> BoundsList;
00065   vtkMultiProcessController* Controller;
00066 
00067   bool IsCornerSource;
00068   double CornerFactor;
00069 };
00070 
00071 #endif
00072 // VTK-HeaderTest-Exclude: vtkPOutlineFilterInternals.h