VTK  9.3.0
vtkDiscreteFlyingEdges2D.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
35 #ifndef vtkDiscreteFlyingEdges2D_h
36 #define vtkDiscreteFlyingEdges2D_h
37 
38 #include "vtkContourValues.h" // Needed for direct access to ContourValues
39 #include "vtkFiltersGeneralModule.h" // For export macro
40 #include "vtkPolyDataAlgorithm.h"
41 
42 VTK_ABI_NAMESPACE_BEGIN
43 class vtkImageData;
44 
45 class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges2D : public vtkPolyDataAlgorithm
46 {
47 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
58  vtkMTimeType GetMTime() override;
59 
64  void SetValue(int i, double value) { this->ContourValues->SetValue(i, value); }
65 
69  double GetValue(int i) { return this->ContourValues->GetValue(i); }
70 
75  double* GetValues() { return this->ContourValues->GetValues(); }
76 
82  void GetValues(double* contourValues) { this->ContourValues->GetValues(contourValues); }
83 
89  void SetNumberOfContours(int number) { this->ContourValues->SetNumberOfContours(number); }
90 
94  vtkIdType GetNumberOfContours() { return this->ContourValues->GetNumberOfContours(); }
95 
97 
101  void GenerateValues(int numContours, double range[2])
102  {
103  this->ContourValues->GenerateValues(numContours, range);
104  }
105  void GenerateValues(int numContours, double rangeStart, double rangeEnd)
106  {
107  this->ContourValues->GenerateValues(numContours, rangeStart, rangeEnd);
108  }
110 
112 
116  vtkSetMacro(ComputeScalars, vtkTypeBool);
117  vtkGetMacro(ComputeScalars, vtkTypeBool);
118  vtkBooleanMacro(ComputeScalars, vtkTypeBool);
120 
122 
125  vtkSetMacro(ArrayComponent, int);
126  vtkGetMacro(ArrayComponent, int);
128 
129 protected:
132 
135 
139 
140 private:
142  void operator=(const vtkDiscreteFlyingEdges2D&) = delete;
143 };
144 
145 VTK_ABI_NAMESPACE_END
146 #endif
helper object to manage setting and generating contour values
generate isoline(s) from 2D image data
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void GetValues(double *contourValues)
Fill a supplied list with contour values.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
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 GenerateValues(int numContours, double range[2])
Generate numContours equally spaced contour values between specified range.
vtkIdType GetNumberOfContours()
Get the number of contours in the list of contour values.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GenerateValues(int numContours, double rangeStart, double rangeEnd)
Generate numContours equally spaced contour values between specified range.
double GetValue(int i)
Get the ith contour value.
~vtkDiscreteFlyingEdges2D() override
void SetValue(int i, double value)
Set a particular contour value at contour number i.
vtkMTimeType GetMTime() override
Because we delegate to vtkContourValues.
static vtkDiscreteFlyingEdges2D * New()
Standard methods for instantiation, printing, and type information.
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
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.
@ 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