VTK  9.3.20240425
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
41
42VTK_ABI_NAMESPACE_BEGIN
43class vtkImageData;
44
45class VTKFILTERSGENERAL_EXPORT vtkDiscreteFlyingEdges2D : public vtkPolyDataAlgorithm
46{
47public:
53 void PrintSelf(ostream& os, vtkIndent indent) override;
54
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
129protected:
132
134 int FillInputPortInformation(int port, vtkInformation* info) override;
135
139
140private:
142 void operator=(const vtkDiscreteFlyingEdges2D&) = delete;
143};
144
145VTK_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.
double * GetValues()
Get a pointer to an array of contour values.
void SetNumberOfContours(int number)
Set the number of contours to place into the list.
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.
static vtkDiscreteFlyingEdges2D * New()
Standard methods for instantiation, printing, and type information.
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.
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
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