VMTK
vtkvmtkPolyDataPatchingFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: VMTK
4  Module: $RCSfile: vtkvmtkPolyDataPatchingFilter.h,v $
5  Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
30 #ifndef __vtkvmtkPolyDataPatchingFilter_h
31 #define __vtkvmtkPolyDataPatchingFilter_h
32 
33 #include "vtkPolyDataAlgorithm.h"
34 //#include "vtkvmtkComputationalGeometryWin32Header.h"
35 #include "vtkvmtkWin32Header.h"
36 #include "vtkImageData.h"
37 
38 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyDataPatchingFilter : public vtkPolyDataAlgorithm
39 {
40 public:
41  static vtkvmtkPolyDataPatchingFilter* New();
42  vtkTypeMacro(vtkvmtkPolyDataPatchingFilter,vtkPolyDataAlgorithm);
43 
44  vtkSetStringMacro(LongitudinalMappingArrayName);
45  vtkGetStringMacro(LongitudinalMappingArrayName);
46 
47  vtkSetStringMacro(CircularMappingArrayName);
48  vtkGetStringMacro(CircularMappingArrayName);
49 
50  vtkSetStringMacro(GroupIdsArrayName);
51  vtkGetStringMacro(GroupIdsArrayName);
52 
53  vtkSetStringMacro(LongitudinalPatchNumberArrayName);
54  vtkGetStringMacro(LongitudinalPatchNumberArrayName);
55 
56  vtkSetStringMacro(CircularPatchNumberArrayName);
57  vtkGetStringMacro(CircularPatchNumberArrayName);
58 
59  vtkSetStringMacro(PatchAreaArrayName);
60  vtkGetStringMacro(PatchAreaArrayName);
61 
62  vtkSetVector2Macro(PatchSize,double);
63  vtkGetVectorMacro(PatchSize,double,2);
64 
65  vtkSetVector2Macro(PatchOffsets,double);
66  vtkGetVectorMacro(PatchOffsets,double,2);
67 
68  vtkSetVector2Macro(LongitudinalPatchBounds,double);
69  vtkGetVectorMacro(LongitudinalPatchBounds,double,2);
70 
71  vtkSetVector2Macro(CircularPatchBounds,double);
72  vtkGetVectorMacro(CircularPatchBounds,double,2);
73 
74  vtkSetObjectMacro(PatchedData,vtkImageData);
75  vtkGetObjectMacro(PatchedData,vtkImageData);
76 
77  vtkSetMacro(CircularPatching,int);
78  vtkGetMacro(CircularPatching,int);
79  vtkBooleanMacro(CircularPatching,int);
80 
81  vtkSetMacro(UseConnectivity,int);
82  vtkGetMacro(UseConnectivity,int);
83  vtkBooleanMacro(UseConnectivity,int);
84 
85 protected:
88 
89  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
90 
94 
97 
99 
100  double PatchSize[2];
101  double PatchOffsets[2];
102  double LongitudinalPatchBounds[2];
103  double CircularPatchBounds[2];
104 
105  vtkImageData* PatchedData;
106 
109 
110 private:
112  void operator=(const vtkvmtkPolyDataPatchingFilter&); // Not implemented.
113 };
114 
115 #endif
116 
“cut” a set of contiguous rectangular regions on the mesh that follow iso-contours in the Stretched...