VTK
|
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