VTK  9.3.1
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:
59  static vtkDiscreteFlyingEdges3D* New();
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:
179  ~vtkDiscreteFlyingEdges3D() override;
180 
187 
190  int FillInputPortInformation(int port, vtkInformation* info) override;
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
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
generate isosurface from 3D image data (volume)
double GetValue(int i)
Get the ith contour value.
int vtkIdType
Definition: vtkType.h:315
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
void SetValue(int i, double value)
Set a particular contour value at contour number i.
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
virtual vtkMTimeType GetMTime()
Return this object's modified time.
double * GetValues()
Get a pointer to an array of contour values.
vtkIdType GetNumberOfContours()
Get the number of contours in the list of contour values.
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.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.