VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSMPMergePolyDataHelper.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 vtkSMPMergePolyDataHelper_h 00024 #define vtkSMPMergePolyDataHelper_h 00025 00026 #include "vtkFiltersSMPModule.h" 00027 00028 #include <vector> 00029 00030 class vtkPolyData; 00031 class vtkSMPMergePoints; 00032 class vtkIdList; 00033 00034 class VTKFILTERSSMP_EXPORT vtkSMPMergePolyDataHelper 00035 { 00036 public: 00037 00039 00046 struct InputData 00047 { 00048 vtkPolyData* Input; 00049 vtkSMPMergePoints* Locator; 00050 vtkIdList* VertOffsets; 00051 vtkIdList* LineOffsets; 00052 vtkIdList* PolyOffsets; 00054 00055 InputData(vtkPolyData* input, 00056 vtkSMPMergePoints* locator, 00057 vtkIdList* vertOffsets, 00058 vtkIdList* lineOffsets, 00059 vtkIdList* polyOffsets) : Input(input), 00060 Locator(locator), 00061 VertOffsets(vertOffsets), 00062 LineOffsets(lineOffsets), 00063 PolyOffsets(polyOffsets) 00064 { 00065 } 00066 }; 00067 00073 static vtkPolyData* MergePolyData(std::vector<InputData>& inputs); 00074 00075 protected: 00076 vtkSMPMergePolyDataHelper(); 00077 ~vtkSMPMergePolyDataHelper(); 00078 00079 private: 00080 vtkSMPMergePolyDataHelper(const vtkSMPMergePolyDataHelper&); // Not implemented. 00081 void operator=(const vtkSMPMergePolyDataHelper&); // Not implemented. 00082 }; 00083 00084 #endif 00085 // VTK-HeaderTest-Exclude: vtkSMPMergePolyDataHelper.h