VTK  9.1.0
vtkSampleFunction.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSampleFunction.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=========================================================================*/
139#ifndef vtkSampleFunction_h
140#define vtkSampleFunction_h
141
142#include "vtkImageAlgorithm.h"
143#include "vtkImagingHybridModule.h" // For export macro
144
146class vtkDataArray;
147
148class VTKIMAGINGHYBRID_EXPORT vtkSampleFunction : public vtkImageAlgorithm
149{
150public:
152 void PrintSelf(ostream& os, vtkIndent indent) override;
153
159
161
165 vtkGetObjectMacro(ImplicitFunction, vtkImplicitFunction);
167
169
172 vtkSetMacro(OutputScalarType, int);
173 vtkGetMacro(OutputScalarType, int);
174 void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
175 void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
176 void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
177 void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
178 void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
179 void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
180 void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
181 void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
182 void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
183 void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
185
189 void SetSampleDimensions(int i, int j, int k);
190
192
195 void SetSampleDimensions(int dim[3]);
196 vtkGetVectorMacro(SampleDimensions, int, 3);
198
200
204 void SetModelBounds(const double bounds[6]);
205 void SetModelBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax);
206 vtkGetVectorMacro(ModelBounds, double, 6);
208
210
215 vtkSetMacro(Capping, vtkTypeBool);
216 vtkGetMacro(Capping, vtkTypeBool);
217 vtkBooleanMacro(Capping, vtkTypeBool);
219
221
224 vtkSetMacro(CapValue, double);
225 vtkGetMacro(CapValue, double);
227
229
232 vtkSetMacro(ComputeNormals, vtkTypeBool);
233 vtkGetMacro(ComputeNormals, vtkTypeBool);
234 vtkBooleanMacro(ComputeNormals, vtkTypeBool);
236
238
242 vtkSetStringMacro(ScalarArrayName);
243 vtkGetStringMacro(ScalarArrayName);
245
247
251 vtkSetStringMacro(NormalArrayName);
252 vtkGetStringMacro(NormalArrayName);
254
259
260protected:
269
271
273
277
279 int SampleDimensions[3];
280 double ModelBounds[6];
282 double CapValue;
287
288private:
289 vtkSampleFunction(const vtkSampleFunction&) = delete;
290 void operator=(const vtkSampleFunction&) = delete;
291};
292
293#endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
general representation of visualization data
Detect and break reference loops.
Generic algorithm superclass for image algs.
abstract interface for implicit functions
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
sample an implicit function over a structured point set
virtual void SetImplicitFunction(vtkImplicitFunction *)
Specify the implicit function to use to generate data.
void SetOutputScalarTypeToShort()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToUnsignedInt()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToUnsignedLong()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToUnsignedShort()
Set what type of scalar data this source should generate.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMTimeType GetMTime() override
Return the MTime also considering the implicit function.
void SetSampleDimensions(int i, int j, int k)
Specify the dimensions of the data on which to sample.
void ExecuteDataWithInformation(vtkDataObject *, vtkInformation *) override
This is a convenience method that is implemented in many subclasses instead of RequestData.
vtkSampleFunction()
Default constructor.
void SetOutputScalarTypeToChar()
Set what type of scalar data this source should generate.
vtkImplicitFunction * ImplicitFunction
void SetSampleDimensions(int dim[3])
Specify the dimensions of the data on which to sample.
static vtkSampleFunction * New()
Construct with ModelBounds=(-1,1,-1,1,-1,1), SampleDimensions=(50,50,50), Capping turned off,...
void SetModelBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
Specify the region in space over which the sampling occurs.
void ReportReferences(vtkGarbageCollector *) override
void SetOutputScalarTypeToLong()
Set what type of scalar data this source should generate.
~vtkSampleFunction() override
void SetOutputScalarTypeToDouble()
Set what type of scalar data this source should generate.
vtkTypeBool ComputeNormals
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetOutputScalarTypeToInt()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToFloat()
Set what type of scalar data this source should generate.
void Cap(vtkDataArray *s)
void SetModelBounds(const double bounds[6])
Specify the region in space over which the sampling occurs.
void SetOutputScalarTypeToUnsignedChar()
Set what type of scalar data this source should generate.
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SHORT
Definition: vtkType.h:48
#define VTK_UNSIGNED_INT
Definition: vtkType.h:51
#define VTK_DOUBLE
Definition: vtkType.h:55
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:47
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:49
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_INT
Definition: vtkType.h:50
#define VTK_FLOAT
Definition: vtkType.h:54
#define VTK_CHAR
Definition: vtkType.h:45
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:53
#define VTK_LONG
Definition: vtkType.h:52