VTK  9.3.0
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
46#ifndef vtkDiscreteFlyingEdges3D_h
47#define vtkDiscreteFlyingEdges3D_h
48
49#include "vtkContourValues.h" // Passes calls through
50#include "vtkFiltersGeneralModule.h" // For export macro
52
53VTK_ABI_NAMESPACE_BEGIN
54class vtkImageData;
55
56class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges3D : public vtkPolyDataAlgorithm
57{
58public:
61 void PrintSelf(ostream& os, vtkIndent indent) override;
62
67
69
75 vtkSetMacro(ComputeNormals, vtkTypeBool);
76 vtkGetMacro(ComputeNormals, vtkTypeBool);
77 vtkBooleanMacro(ComputeNormals, vtkTypeBool);
79
81
89 vtkSetMacro(ComputeGradients, vtkTypeBool);
90 vtkGetMacro(ComputeGradients, vtkTypeBool);
91 vtkBooleanMacro(ComputeGradients, vtkTypeBool);
93
95
98 vtkSetMacro(ComputeScalars, vtkTypeBool);
99 vtkGetMacro(ComputeScalars, vtkTypeBool);
100 vtkBooleanMacro(ComputeScalars, vtkTypeBool);
102
104
110 vtkSetMacro(InterpolateAttributes, vtkTypeBool);
111 vtkGetMacro(InterpolateAttributes, vtkTypeBool);
112 vtkBooleanMacro(InterpolateAttributes, vtkTypeBool);
114
119 void SetValue(int i, double value) { this->ContourValues->SetValue(i, value); }
120
124 double GetValue(int i) { return this->ContourValues->GetValue(i); }
125
130 double* GetValues() { return this->ContourValues->GetValues(); }
131
137 void GetValues(double* contourValues) { this->ContourValues->GetValues(contourValues); }
138
144 void SetNumberOfContours(int number) { this->ContourValues->SetNumberOfContours(number); }
145
149 vtkIdType GetNumberOfContours() { return this->ContourValues->GetNumberOfContours(); }
150
155 void GenerateValues(int numContours, double range[2])
156 {
157 this->ContourValues->GenerateValues(numContours, range);
158 }
159
164 void GenerateValues(int numContours, double rangeStart, double rangeEnd)
165 {
166 this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
167 }
168
170
173 vtkSetMacro(ArrayComponent, int);
174 vtkGetMacro(ArrayComponent, int);
176
177protected:
180
187
190 int FillInputPortInformation(int port, vtkInformation* info) override;
191
192private:
194 void operator=(const vtkDiscreteFlyingEdges3D&) = delete;
195};
196
197VTK_ABI_NAMESPACE_END
198#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:29
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