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
51 #include "vtkPolyDataAlgorithm.h"
52 
53 VTK_ABI_NAMESPACE_BEGIN
54 class vtkImageData;
55 
56 class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges3D : public vtkPolyDataAlgorithm
57 {
58 public:
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
66  vtkMTimeType GetMTime() override;
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 
177 protected:
180 
187 
191 
192 private:
194  void operator=(const vtkDiscreteFlyingEdges3D&) = delete;
195 };
196 
197 VTK_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.
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:43
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.
@ 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