TTK
Loading...
Searching...
No Matches
ttkStableManifoldPersistence.h
Go to the documentation of this file.
1
34
35#pragma once
36
37// VTK Module
38#include <ttkStableManifoldPersistenceModule.h>
39
40// ttk code includes
41#include <ttkAlgorithm.h>
42
43class vtkDataArray;
44class vtkPolyData;
45class vtkUnstructuredGrid;
46
47class TTKSTABLEMANIFOLDPERSISTENCE_EXPORT ttkStableManifoldPersistence
48 : public ttkAlgorithm {
49
50public:
53
54 vtkGetMacro(IsUnstable, bool);
55 vtkSetMacro(IsUnstable, bool);
56
57protected:
59
60 int FillInputPortInformation(int port, vtkInformation *info) override;
61 int FillOutputPortInformation(int port, vtkInformation *info) override;
62 int RequestData(vtkInformation *request,
63 vtkInformationVector **inputVector,
64 vtkInformationVector *outputVector) override;
65
66private:
67 bool IsUnstable{false};
68
69 std::vector<int> max2simplex_, min2simplex_;
70 std::vector<double> simplex2persistence_;
71 std::vector<int> simplex2pairType_;
72
73 int AttachPersistence(vtkDataSet *output) const;
74
75 int BuildSimplex2PersistenceMap(vtkDataSet *stableManifold,
76 vtkPolyData *criticalPoints,
77 vtkUnstructuredGrid *persistenceDiagram);
78};
Baseclass of all VTK filters that wrap ttk modules.
virtual int RequestData(vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector))
int FillInputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
int FillOutputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
TTK VTK-filter for attaching to an input stable manifold (given by the Morse-Smale complex module) it...
static ttkStableManifoldPersistence * New()