VTK: Filters/ReebGraph/vtkReebGraphSimplificationFilter.h Source File

| VTK 9.3.1

vtkReebGraphSimplificationFilter.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
14 #ifndef vtkReebGraphSimplificationFilter_h
15 #define vtkReebGraphSimplificationFilter_h
16
17 #include "vtkDirectedGraphAlgorithm.h"
18 #include "vtkFiltersReebGraphModule.h" // For export macro
19
20 VTK_ABI_NAMESPACE_BEGIN
21 class vtkReebGraph;
22 class vtkReebGraphSimplificationMetric;
23
24 class VTKFILTERSREEBGRAPH_EXPORT vtkReebGraphSimplificationFilter : public vtkDirectedGraphAlgorithm
25 {
26 public:
27 static vtkReebGraphSimplificationFilter* New();
28 vtkTypeMacro(vtkReebGraphSimplificationFilter, vtkDirectedGraphAlgorithm);
29 void PrintSelf(ostream& os, vtkIndent indent) override;
30
32
36 vtkSetMacro(SimplificationThreshold, double);
37 vtkGetMacro(SimplificationThreshold, double);
39
44 void SetSimplificationMetric(vtkReebGraphSimplificationMetric* metric);
45
46 vtkReebGraph* GetOutput();
47
48 protected:
49 vtkReebGraphSimplificationFilter();
50 ~vtkReebGraphSimplificationFilter() override;
51
52 double SimplificationThreshold;
53
54 vtkReebGraphSimplificationMetric* SimplificationMetric;
55
56 int FillInputPortInformation(int portNumber, vtkInformation*) override;
57 int FillOutputPortInformation(int, vtkInformation*) override;
58
59 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
60 vtkInformationVector* outputVector) override;
61
62 private:
63 vtkReebGraphSimplificationFilter(const vtkReebGraphSimplificationFilter&) = delete;
64 void operator=(const vtkReebGraphSimplificationFilter&) = delete;
65 };
66
67 VTK_ABI_NAMESPACE_END
68 #endif
vtkDirectedGraphAlgorithm
Superclass for algorithms that produce only directed graph as output.
Definition: vtkDirectedGraphAlgorithm.h:38
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkReebGraphSimplificationFilter
simplify an input Reeb graph.
Definition: vtkReebGraphSimplificationFilter.h:25
vtkReebGraphSimplificationFilter::SimplificationMetric
vtkReebGraphSimplificationMetric * SimplificationMetric
Definition: vtkReebGraphSimplificationFilter.h:54
vtkReebGraphSimplificationFilter::FillInputPortInformation
int FillInputPortInformation(int portNumber, vtkInformation *) override
Fill the input port information objects for this algorithm.
vtkReebGraphSimplificationFilter::SetSimplificationMetric
void SetSimplificationMetric(vtkReebGraphSimplificationMetric *metric)
Set the persistence metric evaluation code Default value: nullptr (standard topological persistence).
vtkReebGraphSimplificationFilter::~vtkReebGraphSimplificationFilter
~vtkReebGraphSimplificationFilter() override
vtkReebGraphSimplificationFilter::GetOutput
vtkReebGraph * GetOutput()
vtkReebGraphSimplificationFilter::vtkReebGraphSimplificationFilter
vtkReebGraphSimplificationFilter()
vtkReebGraphSimplificationFilter::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkReebGraphSimplificationFilter::New
static vtkReebGraphSimplificationFilter * New()
vtkReebGraphSimplificationFilter::SimplificationThreshold
double SimplificationThreshold
Definition: vtkReebGraphSimplificationFilter.h:52
vtkReebGraphSimplificationFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkReebGraphSimplificationFilter::RequestData
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkReebGraphSimplificationMetric
abstract class for custom Reeb graph simplification metric design.
Definition: vtkReebGraphSimplificationMetric.h:49
vtkReebGraph
Reeb graph computation for PL scalar fields.
Definition: vtkReebGraph.h:121
vtkDirectedGraphAlgorithm.h