VTK  9.0.1
vtkReebGraphSimplificationFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkReebGraphSimplificationFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
23 #ifndef vtkReebGraphSimplificationFilter_h
24 #define vtkReebGraphSimplificationFilter_h
25 
27 #include "vtkFiltersReebGraphModule.h" // For export macro
28 
29 class vtkReebGraph;
31 
32 class VTKFILTERSREEBGRAPH_EXPORT vtkReebGraphSimplificationFilter : public vtkDirectedGraphAlgorithm
33 {
34 public:
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
44  vtkSetMacro(SimplificationThreshold, double);
45  vtkGetMacro(SimplificationThreshold, double);
47 
52  void SetSimplificationMetric(vtkReebGraphSimplificationMetric* metric);
53 
55 
56 protected:
59 
61 
63 
64  int FillInputPortInformation(int portNumber, vtkInformation*) override;
65  int FillOutputPortInformation(int, vtkInformation*) override;
66 
67  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
68  vtkInformationVector* outputVector) override;
69 
70 private:
72  void operator=(const vtkReebGraphSimplificationFilter&) = delete;
73 };
74 
75 #endif
vtkDirectedGraphAlgorithm
Superclass for algorithms that produce only directed graph as output.
Definition: vtkDirectedGraphAlgorithm.h:52
vtkDirectedGraphAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkDirectedGraphAlgorithm::New
static vtkDirectedGraphAlgorithm * New()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkDirectedGraphAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkReebGraphSimplificationFilter::SimplificationThreshold
double SimplificationThreshold
Definition: vtkReebGraphSimplificationFilter.h:60
vtkReebGraphSimplificationFilter
simplify an input Reeb graph.
Definition: vtkReebGraphSimplificationFilter.h:32
vtkReebGraphSimplificationMetric
abstract class for custom Reeb graph simplification metric design.
Definition: vtkReebGraphSimplificationMetric.h:56
vtkReebGraph
Reeb graph computation for PL scalar fields.
Definition: vtkReebGraph.h:131
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkReebGraphSimplificationFilter::SimplificationMetric
vtkReebGraphSimplificationMetric * SimplificationMetric
Definition: vtkReebGraphSimplificationFilter.h:62
vtkDirectedGraphAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkDirectedGraphAlgorithm.h
vtkDirectedGraphAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkDirectedGraphAlgorithm::GetOutput
vtkDirectedGraph * GetOutput()
Get the output data object for a port on this algorithm.
Definition: vtkDirectedGraphAlgorithm.h:68