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
55#ifndef vtkDiscreteFlyingEdges3D_h
56#define vtkDiscreteFlyingEdges3D_h
57
58#include "vtkContourValues.h" // Passes calls through
59#include "vtkFiltersGeneralModule.h" // For export macro
61
62VTK_ABI_NAMESPACE_BEGIN
63class vtkImageData;
64
65class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges3D : public vtkPolyDataAlgorithm
66{
67public:
70 void PrintSelf(ostream& os, vtkIndent indent) override;
71
76
78
84 vtkSetMacro(ComputeNormals, vtkTypeBool);
85 vtkGetMacro(ComputeNormals, vtkTypeBool);
86 vtkBooleanMacro(ComputeNormals, vtkTypeBool);
88
90
98 vtkSetMacro(ComputeGradients, vtkTypeBool);
99 vtkGetMacro(ComputeGradients, vtkTypeBool);
100 vtkBooleanMacro(ComputeGradients, vtkTypeBool);
102
104
107 vtkSetMacro(ComputeScalars, vtkTypeBool);
108 vtkGetMacro(ComputeScalars, vtkTypeBool);
109 vtkBooleanMacro(ComputeScalars, vtkTypeBool);
111
113
119 vtkSetMacro(InterpolateAttributes, vtkTypeBool);
120 vtkGetMacro(InterpolateAttributes, vtkTypeBool);
121 vtkBooleanMacro(InterpolateAttributes, vtkTypeBool);
123
128 void SetValue(int i, double value) { this->ContourValues->SetValue(i, value); }
129
133 double GetValue(int i) { return this->ContourValues->GetValue(i); }
134
139 double* GetValues() { return this->ContourValues->GetValues(); }
140
146 void GetValues(double* contourValues) { this->ContourValues->GetValues(contourValues); }
147
153 void SetNumberOfContours(int number) { this->ContourValues->SetNumberOfContours(number); }
154
158 vtkIdType GetNumberOfContours() { return this->ContourValues->GetNumberOfContours(); }
159
164 void GenerateValues(int numContours, double range[2])
165 {
166 this->ContourValues->GenerateValues(numContours, range);
167 }
168
173 void GenerateValues(int numContours, double rangeStart, double rangeEnd)
174 {
175 this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
176 }
177
179
182 vtkSetMacro(ArrayComponent, int);
183 vtkGetMacro(ArrayComponent, int);
185
186protected:
189
196
199 int FillInputPortInformation(int port, vtkInformation* info) override;
200
201private:
203 void operator=(const vtkDiscreteFlyingEdges3D&) = delete;
204};
205
206VTK_ABI_NAMESPACE_END
207#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:38
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