VTK  9.3.20240712
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
81
82VTK_ABI_NAMESPACE_BEGIN
83class vtkImageData;
84
85class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges3D : public vtkPolyDataAlgorithm
86{
87public:
90 void PrintSelf(ostream& os, vtkIndent indent) override;
91
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
206protected:
209
216
219 int FillInputPortInformation(int port, vtkInformation* info) override;
220
221private:
223 void operator=(const vtkDiscreteFlyingEdges3D&) = delete;
224};
225
226VTK_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.
static vtkDiscreteFlyingEdges3D * New()
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
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.
double * GetValues()
Get a pointer to an array of contour values.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
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
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.
int vtkTypeBool
Definition vtkABI.h:64
int vtkIdType
Definition vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270