VTK  9.1.0
vtkThresholdTextureCoords.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkThresholdTextureCoords.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 =========================================================================*/
57 #ifndef vtkThresholdTextureCoords_h
58 #define vtkThresholdTextureCoords_h
59 
60 #include "vtkDataSetAlgorithm.h"
61 #include "vtkFiltersTextureModule.h" // For export macro
62 
63 class VTKFILTERSTEXTURE_EXPORT vtkThresholdTextureCoords : public vtkDataSetAlgorithm
64 {
65 public:
68  void PrintSelf(ostream& os, vtkIndent indent) override;
69 
73  void ThresholdByLower(double lower);
74 
78  void ThresholdByUpper(double upper);
79 
83  void ThresholdBetween(double lower, double upper);
84 
86 
89  vtkGetMacro(UpperThreshold, double);
90  vtkGetMacro(LowerThreshold, double);
92 
94 
97  vtkSetClampMacro(TextureDimension, int, 1, 3);
98  vtkGetMacro(TextureDimension, int);
100 
102 
105  vtkSetVector3Macro(InTextureCoord, double);
106  vtkGetVectorMacro(InTextureCoord, double, 3);
108 
110 
114  vtkSetVector3Macro(OutTextureCoord, double);
115  vtkGetVectorMacro(OutTextureCoord, double, 3);
117 
118 protected:
120  ~vtkThresholdTextureCoords() override = default;
121 
122  // Usual data generation method
124 
127 
129 
130  double InTextureCoord[3];
131  double OutTextureCoord[3];
132 
133  int (vtkThresholdTextureCoords::*ThresholdFunction)(double s);
134 
135  int Lower(double s) { return (s <= this->LowerThreshold ? 1 : 0); }
136  int Upper(double s) { return (s >= this->UpperThreshold ? 1 : 0); }
137  int Between(double s)
138  {
139  return (s >= this->LowerThreshold ? (s <= this->UpperThreshold ? 1 : 0) : 0);
140  }
141 
142 private:
144  void operator=(const vtkThresholdTextureCoords&) = delete;
145 };
146 
147 #endif
Superclass for algorithms that produce output of the same type as input.
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
compute 1D, 2D, or 3D texture coordinates based on scalar threshold
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ThresholdBetween(double lower, double upper)
Criterion is cells whose scalars are between lower and upper thresholds.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkThresholdTextureCoords * New()
void ThresholdByLower(double lower)
Criterion is cells whose scalars are less than lower threshold.
void ThresholdByUpper(double upper)
Criterion is cells whose scalars are less than upper threshold.
~vtkThresholdTextureCoords() override=default