VTK  9.3.20240328
vtkDiscreteFlyingEdges3D.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
75 #ifndef vtkDiscreteFlyingEdges3D_h
76 #define vtkDiscreteFlyingEdges3D_h
77 
78 #include "vtkContourValues.h" // Passes calls through
79 #include "vtkFiltersGeneralModule.h" // For export macro
80 #include "vtkPolyDataAlgorithm.h"
81 
82 VTK_ABI_NAMESPACE_BEGIN
83 class vtkImageData;
84 
85 class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges3D : public vtkPolyDataAlgorithm
86 {
87 public:
90  void PrintSelf(ostream& os, vtkIndent indent) override;
91 
95  vtkMTimeType GetMTime() override;
96 
98 
104  vtkSetMacro(ComputeNormals, vtkTypeBool);
105  vtkGetMacro(ComputeNormals, vtkTypeBool);
106  vtkBooleanMacro(ComputeNormals, vtkTypeBool);
108 
110 
118  vtkSetMacro(ComputeGradients, vtkTypeBool);
119  vtkGetMacro(ComputeGradients, vtkTypeBool);
120  vtkBooleanMacro(ComputeGradients, vtkTypeBool);
122 
124 
127  vtkSetMacro(ComputeScalars, vtkTypeBool);
128  vtkGetMacro(ComputeScalars, vtkTypeBool);
129  vtkBooleanMacro(ComputeScalars, vtkTypeBool);
131 
133 
139  vtkSetMacro(InterpolateAttributes, vtkTypeBool);
140  vtkGetMacro(InterpolateAttributes, vtkTypeBool);
141  vtkBooleanMacro(InterpolateAttributes, vtkTypeBool);
143 
148  void SetValue(int i, double value) { this->ContourValues->SetValue(i, value); }
149 
153  double GetValue(int i) { return this->ContourValues->GetValue(i); }
154 
159  double* GetValues() { return this->ContourValues->GetValues(); }
160 
166  void GetValues(double* contourValues) { this->ContourValues->GetValues(contourValues); }
167 
173  void SetNumberOfContours(int number) { this->ContourValues->SetNumberOfContours(number); }
174 
178  vtkIdType GetNumberOfContours() { return this->ContourValues->GetNumberOfContours(); }
179 
184  void GenerateValues(int numContours, double range[2])
185  {
186  this->ContourValues->GenerateValues(numContours, range);
187  }
188 
193  void GenerateValues(int numContours, double rangeStart, double rangeEnd)
194  {
195  this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
196  }
197 
199 
202  vtkSetMacro(ArrayComponent, int);
203  vtkGetMacro(ArrayComponent, int);
205 
206 protected:
209 
216 
220 
221 private:
223  void operator=(const vtkDiscreteFlyingEdges3D&) = delete;
224 };
225 
226 VTK_ABI_NAMESPACE_END
227 #endif
helper object to manage setting and generating contour values
generate isosurface from 3D image data (volume)
double GetValue(int i)
Get the ith contour value.
vtkMTimeType GetMTime() override
Because we delegate to vtkContourValues.
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
double * GetValues()
Get a pointer to an array of contour values.
void SetValue(int i, double value)
Set a particular contour value at contour number i.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
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.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkDiscreteFlyingEdges3D() override
void GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
static vtkDiscreteFlyingEdges3D * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkIdType GetNumberOfContours()
Get the number of contours in the list of contour values.
topologically and geometrically regular array of data
Definition: vtkImageData.h:155
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
@ info
Definition: vtkX3D.h:376
@ value
Definition: vtkX3D.h:220
@ port
Definition: vtkX3D.h:447
@ range
Definition: vtkX3D.h:238
int vtkTypeBool
Definition: vtkABI.h:64
int vtkIdType
Definition: vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270