VTK
vtkCellSizeFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCellSizeFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
31 #ifndef vtkCellSizeFilter_h
32 #define vtkCellSizeFilter_h
33 
34 #include "vtkFiltersVerdictModule.h" // For export macro
36 
37 class vtkDataSet;
38 class vtkIdList;
39 class vtkImageData;
40 class vtkPointSet;
41 
42 class VTKFILTERSVERDICT_EXPORT vtkCellSizeFilter : public vtkPassInputTypeAlgorithm
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
47  static vtkCellSizeFilter* New();
48 
50 
54  vtkSetMacro(ComputePoint, bool);
55  vtkGetMacro(ComputePoint, bool);
56  vtkBooleanMacro(ComputePoint, bool);
58 
60 
64  vtkSetMacro(ComputeLength, bool);
65  vtkGetMacro(ComputeLength, bool);
66  vtkBooleanMacro(ComputeLength, bool);
68 
70 
74  vtkSetMacro(ComputeArea, bool);
75  vtkGetMacro(ComputeArea, bool);
76  vtkBooleanMacro(ComputeArea, bool);
78 
80 
84  vtkSetMacro(ComputeVolume, bool);
85  vtkGetMacro(ComputeVolume, bool);
86  vtkBooleanMacro(ComputeVolume, bool);
88 
90 
93  vtkSetStringMacro(ArrayName);
94  vtkGetStringMacro(ArrayName);
96 
97 protected:
100 
101  virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
102  vtkInformationVector* outputVector) VTK_OVERRIDE;
103 
104  void IntegrateImageData(vtkImageData* input, vtkImageData* output);
105 
106  double IntegratePolyLine(vtkDataSet* input, vtkIdList* cellPtIds);
107  double IntegratePolygon(vtkPointSet* input, vtkIdList* cellPtIds);
108  double IntegrateTriangleStrip(vtkPointSet* input, vtkIdList* cellPtIds);
109  double IntegratePixel(vtkDataSet* input, vtkIdList* cellPtIds);
110  double IntegrateVoxel(vtkDataSet* input, vtkIdList* cellPtIds);
111  double IntegrateGeneral1DCell(vtkDataSet* input, vtkIdList* cellPtIds);
112  double IntegrateGeneral2DCell(vtkPointSet* input, vtkIdList* cellPtIds);
113  double IntegrateGeneral3DCell(vtkPointSet* input, vtkIdList* cellPtIds);
114 
115 private:
116  vtkCellSizeFilter(const vtkCellSizeFilter&) VTK_DELETE_FUNCTION;
117  void operator=(const vtkCellSizeFilter&) VTK_DELETE_FUNCTION;
118 
119  void ExecuteBlock(vtkDataSet* input, vtkDataSet* output);
120 
121  bool ComputePoint;
122  bool ComputeLength;
123  bool ComputeArea;
124  bool ComputeVolume;
125 
126  char* ArrayName;
127 };
128 
129 #endif
Computes cell sizes.
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:39
a simple class to control print indentation
Definition: vtkIndent.h:33
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
list of point or cell ids
Definition: vtkIdList.h:30
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()