VTK  9.7.1
vtkSynchronizedTemplates3D.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
22 #ifndef vtkSynchronizedTemplates3D_h
23 #define vtkSynchronizedTemplates3D_h
24 
25 #include "vtkContourValues.h" // Passes calls through
26 #include "vtkFiltersCoreModule.h" // For export macro
27 #include "vtkPolyDataAlgorithm.h"
28 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
29 
30 VTK_ABI_NAMESPACE_BEGIN
31 class vtkImageData;
32 
34 {
35 public:
37 
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
44  vtkMTimeType GetMTime() override;
45 
47 
53  vtkSetMacro(ComputeNormals, vtkTypeBool);
54  vtkGetMacro(ComputeNormals, vtkTypeBool);
55  vtkBooleanMacro(ComputeNormals, vtkTypeBool);
57 
59 
67  vtkSetMacro(ComputeGradients, vtkTypeBool);
68  vtkGetMacro(ComputeGradients, vtkTypeBool);
69  vtkBooleanMacro(ComputeGradients, vtkTypeBool);
71 
73 
76  vtkSetMacro(ComputeScalars, vtkTypeBool);
77  vtkGetMacro(ComputeScalars, vtkTypeBool);
78  vtkBooleanMacro(ComputeScalars, vtkTypeBool);
80 
82 
86  vtkSetMacro(GenerateTriangles, vtkTypeBool);
87  vtkGetMacro(GenerateTriangles, vtkTypeBool);
88  vtkBooleanMacro(GenerateTriangles, vtkTypeBool);
90 
95  void SetValue(int i, double value) { this->ContourValues->SetValue(i, value); }
96 
100  double GetValue(int i) { return this->ContourValues->GetValue(i); }
101 
106  double* GetValues() { return this->ContourValues->GetValues(); }
107 
113  void GetValues(double* contourValues) { this->ContourValues->GetValues(contourValues); }
114 
120  void SetNumberOfContours(int number) { this->ContourValues->SetNumberOfContours(number); }
121 
125  vtkIdType GetNumberOfContours() { return this->ContourValues->GetNumberOfContours(); }
126 
131  void GenerateValues(int numContours, double range[2])
132  {
133  this->ContourValues->GenerateValues(numContours, range);
134  }
135 
140  void GenerateValues(int numContours, double rangeStart, double rangeEnd)
141  {
142  this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
143  }
144 
145  void ThreadedExecute(
146  vtkImageData* data, vtkInformation* inInfo, vtkInformation* outInfo, vtkDataArray* inScalars);
147 
149 
154  void SetInputMemoryLimit(unsigned long limit);
155  unsigned long GetInputMemoryLimit();
157 
159 
162  vtkSetMacro(ArrayComponent, int);
163  vtkGetMacro(ArrayComponent, int);
165 
166 protected:
168  ~vtkSynchronizedTemplates3D() override;
169 
174 
177  int FillInputPortInformation(int port, vtkInformation* info) override;
178 
180 
182 
183 private:
185  void operator=(const vtkSynchronizedTemplates3D&) = delete;
186 };
187 
188 // template table.
189 
190 extern int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_1[];
191 extern int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_2[];
192 
193 VTK_ABI_NAMESPACE_END
194 #endif
helper object to manage setting and generating contour values
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_2[]
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
double GetValue(int i)
Get the ith contour value.
void SetValue(int i, double value)
Set a particular contour value at contour number i.
int vtkIdType
Definition: vtkType.h:363
double * GetValues()
Get a pointer to an array of contour values.
generate isosurface from structured points
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
vtkIdType GetNumberOfContours()
Get the number of contours in the list of contour values.
a simple class to control print indentation
Definition: vtkIndent.h:28
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
int VTKFILTERSCORE_EXPORT VTK_SYNCHRONIZED_TEMPLATES_3D_TABLE_1[]
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.