VTK  9.4.20251007
vtkThresholdPoints.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
18
19#ifndef vtkThresholdPoints_h
20#define vtkThresholdPoints_h
21
22#include "vtkFiltersCoreModule.h" // For export macro
24
25VTK_ABI_NAMESPACE_BEGIN
26class VTKFILTERSCORE_EXPORT vtkThresholdPoints : public vtkPolyDataAlgorithm
27{
28public:
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
36 void ThresholdByLower(double lower);
37
41 void ThresholdByUpper(double upper);
42
47 void ThresholdBetween(double lower, double upper);
48
50
53 vtkSetMacro(UpperThreshold, double);
54 vtkGetMacro(UpperThreshold, double);
56
58
61 vtkSetMacro(LowerThreshold, double);
62 vtkGetMacro(LowerThreshold, double);
64
66
70 vtkSetMacro(InputArrayComponent, int);
71 vtkGetMacro(InputArrayComponent, int);
73
75
80 vtkSetMacro(OutputPointsPrecision, int);
81 vtkGetMacro(OutputPointsPrecision, int);
83
84protected:
86 ~vtkThresholdPoints() override = default;
87
88 // Usual data generation method
90
91 int FillInputPortInformation(int port, vtkInformation* info) override;
92
97
99
100 int Lower(double s) { return (s <= this->LowerThreshold ? 1 : 0); }
101 int Upper(double s) { return (s >= this->UpperThreshold ? 1 : 0); }
102 int Between(double s)
103 {
104 return (s >= this->LowerThreshold ? (s <= this->UpperThreshold ? 1 : 0) : 0);
105 }
106
107private:
108 vtkThresholdPoints(const vtkThresholdPoints&) = delete;
109 void operator=(const vtkThresholdPoints&) = delete;
110};
111
112VTK_ABI_NAMESPACE_END
113#endif
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
extracts points whose scalar value satisfies threshold criterion
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ThresholdByLower(double lower)
Criterion is cells whose scalars are less or equal to lower threshold.
~vtkThresholdPoints() override=default
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int(vtkThresholdPoints::* ThresholdFunction)(double s)
void ThresholdBetween(double lower, double upper)
Criterion is cells whose scalars are between lower and upper thresholds (inclusive of the end values)...
static vtkThresholdPoints * New()
void ThresholdByUpper(double upper)
Criterion is cells whose scalars are greater or equal to upper threshold.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.