VTK  9.2.6
vtkThreshold.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkThreshold.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=========================================================================*/
42
43#ifndef vtkThreshold_h
44#define vtkThreshold_h
45
46#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_1_0
47#include "vtkFiltersCoreModule.h" // For export macro
49
50#define VTK_ATTRIBUTE_MODE_DEFAULT 0
51#define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
52#define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
53
54// order / values are important because of the SetClampMacro
55#define VTK_COMPONENT_MODE_USE_SELECTED 0
56#define VTK_COMPONENT_MODE_USE_ALL 1
57#define VTK_COMPONENT_MODE_USE_ANY 2
58
59class vtkDataArray;
60class vtkIdList;
61
62class VTKFILTERSCORE_EXPORT vtkThreshold : public vtkUnstructuredGridAlgorithm
63{
64public:
65 static vtkThreshold* New();
67 void PrintSelf(ostream& os, vtkIndent indent) override;
68
81
83
87 void SetThresholdFunction(int function);
90
94 VTK_DEPRECATED_IN_9_1_0("Use 'SetLowerThreshold' and 'SetThresholdFunction' instead.")
95 void ThresholdByLower(double lower);
96
100 VTK_DEPRECATED_IN_9_1_0("Use 'SetUpperThreshold' and 'SetThresholdFunction' instead.")
101 void ThresholdByUpper(double upper);
102
108 "Use 'SetLowerThreshold', 'SetUpperThreshold' and 'SetThresholdFunction' instead.")
109 void ThresholdBetween(double lower, double upper);
110
112
116 vtkSetMacro(UpperThreshold, double);
117 vtkSetMacro(LowerThreshold, double);
118 vtkGetMacro(UpperThreshold, double);
119 vtkGetMacro(LowerThreshold, double);
121
123
130 vtkSetMacro(AttributeMode, int);
131 vtkGetMacro(AttributeMode, int);
140
142
151 vtkGetMacro(ComponentMode, int);
157
159
163 vtkSetClampMacro(SelectedComponent, int, 0, VTK_INT_MAX);
164 vtkGetMacro(SelectedComponent, int);
166
168
174 vtkSetMacro(AllScalars, vtkTypeBool);
175 vtkGetMacro(AllScalars, vtkTypeBool);
176 vtkBooleanMacro(AllScalars, vtkTypeBool);
178
180
192
194
203 void SetPointsDataType(int type);
206
208
213 vtkSetMacro(Invert, bool);
214 vtkGetMacro(Invert, bool);
215 vtkBooleanMacro(Invert, bool);
217
219
224 void SetOutputPointsPrecision(int precision);
227
229
242 int Lower(double s) const;
243 int Upper(double s) const;
244 int Between(double s) const;
246protected:
248 ~vtkThreshold() override;
249
250 // Usual data generation method
252
253 int FillInputPortInformation(int port, vtkInformation* info) override;
254
259 bool Invert = false;
264
266
268 int EvaluateCell(vtkDataArray* scalars, vtkIdList* cellPts, int numCellPts);
269 int EvaluateCell(vtkDataArray* scalars, int c, vtkIdList* cellPts, int numCellPts);
270
271private:
272 vtkThreshold(const vtkThreshold&) = delete;
273 void operator=(const vtkThreshold&) = delete;
274};
275
276#endif
list of point or cell ids
Definition vtkIdList.h:34
a simple class to control print indentation
Definition vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int(vtkThreshold::* ThresholdFunction)(double s) const
virtual void SetComponentMode(int)
Control how the decision of in / out is made with multi-component data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int EvaluateCell(vtkDataArray *scalars, vtkIdList *cellPts, int numCellPts)
void ThresholdBetween(double lower, double upper)
Criterion is cells whose scalars are between lower and upper thresholds (inclusive of the end values)...
virtual void SetAttributeMode(int)
Control how the filter works with scalar point data and cell attribute data.
vtkTypeBool AllScalars
void SetAttributeModeToUsePointData()
Control how the filter works with scalar point data and cell attribute data.
void SetPointsDataType(int type)
Set the data type of the output points (See the data types defined in vtkType.h).
void SetThresholdFunction(int function)
Get/Set the threshold method, defining which threshold bounds to use.
void SetComponentModeToUseSelected()
Control how the decision of in / out is made with multi-component data.
void SetComponentModeToUseAny()
Control how the decision of in / out is made with multi-component data.
ThresholdType
Possible values for the threshold function:
void SetComponentModeToUseAll()
Control how the decision of in / out is made with multi-component data.
int GetOutputPointsPrecision() const
Set/get the desired precision for the output types.
double LowerThreshold
void SetPointsDataTypeToDouble()
Set the data type of the output points (See the data types defined in vtkType.h).
const char * GetComponentModeAsString()
Control how the decision of in / out is made with multi-component data.
void SetAttributeModeToUseCellData()
Control how the filter works with scalar point data and cell attribute data.
int EvaluateComponents(vtkDataArray *scalars, vtkIdType id)
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int GetPointsDataType()
Set the data type of the output points (See the data types defined in vtkType.h).
void SetPointsDataTypeToFloat()
Set the data type of the output points (See the data types defined in vtkType.h).
double UpperThreshold
void SetOutputPointsPrecision(int precision)
Set/get the desired precision for the output types.
void SetAttributeModeToDefault()
Control how the filter works with scalar point data and cell attribute data.
void ThresholdByLower(double lower)
Criterion is cells whose scalars are less or equal to lower threshold.
int Upper(double s) const
Methods used for thresholding.
~vtkThreshold() override
void ThresholdByUpper(double upper)
Criterion is cells whose scalars are greater or equal to upper threshold.
int Between(double s) const
Methods used for thresholding.
int EvaluateCell(vtkDataArray *scalars, int c, vtkIdList *cellPts, int numCellPts)
int Lower(double s) const
Methods used for thresholding.
int GetThresholdFunction()
Get/Set the threshold method, defining which threshold bounds to use.
vtkTypeBool UseContinuousCellRange
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
int OutputPointsPrecision
const char * GetAttributeModeAsString()
Control how the filter works with scalar point data and cell attribute data.
static vtkThreshold * New()
int vtkTypeBool
Definition vtkABI.h:69
#define vtkDataArray
#define VTK_DEPRECATED_IN_9_1_0(reason)
#define VTK_COMPONENT_MODE_USE_SELECTED
#define VTK_ATTRIBUTE_MODE_USE_POINT_DATA
#define VTK_ATTRIBUTE_MODE_DEFAULT
#define VTK_COMPONENT_MODE_USE_ALL
#define VTK_COMPONENT_MODE_USE_ANY
#define VTK_ATTRIBUTE_MODE_USE_CELL_DATA
int vtkIdType
Definition vtkType.h:332
#define VTK_DOUBLE
Definition vtkType.h:55
#define VTK_FLOAT
Definition vtkType.h:54
#define VTK_INT_MAX
Definition vtkType.h:155