TTK
Loading...
Searching...
No Matches
ttkMandatoryCriticalPoints.h
Go to the documentation of this file.
1
55
56#pragma once
57
58// VTK Module
59#include <ttkMandatoryCriticalPointsModule.h>
60
61// ttk code includes
63#include <ttkAlgorithm.h>
64
65class TTKMANDATORYCRITICALPOINTS_EXPORT ttkMandatoryCriticalPoints
66 : public ttkAlgorithm,
68
69public:
71
73
74 void SetSimplificationThreshold(double threshold) {
75 if(threshold != simplificationThreshold_) {
76 simplificationThreshold_ = threshold;
77 simplify_ = true;
78 Modified();
79 }
80 }
81
83 outputMinimumComponentId_ = id;
84 computeMinimumOutput_ = true;
85 Modified();
86 }
87
89 outputJoinSaddleComponentId_ = id;
90 computeJoinSaddleOutput_ = true;
91 Modified();
92 }
93
95 outputSplitSaddleComponentId_ = id;
96 computeSplitSaddleOutput_ = true;
97 Modified();
98 }
99
101 outputMaximumComponentId_ = id;
102 computeMaximumOutput_ = true;
103 Modified();
104 }
105
106 void setOutputAllMinimumComponents(bool outputAll) {
107 outputAllMinimumComponents_ = outputAll;
108 computeMinimumOutput_ = true;
109 Modified();
110 }
111
112 void setOutputAllJoinSaddleComponents(bool outputAll) {
113 outputAllJoinSaddleComponents_ = outputAll;
114 computeJoinSaddleOutput_ = true;
115 Modified();
116 }
117
119 outputAllSplitSaddleComponents_ = outputAll;
120 computeSplitSaddleOutput_ = true;
121 Modified();
122 }
123
124 void setOutputAllMaximumComponents(bool outputAll) {
125 outputAllMaximumComponents_ = outputAll;
126 computeMaximumOutput_ = true;
127 Modified();
128 }
129
130protected:
132
133 int FillInputPortInformation(int port, vtkInformation *info) override;
134 int FillOutputPortInformation(int port, vtkInformation *info) override;
135 int RequestData(vtkInformation *request,
136 vtkInformationVector **inputVector,
137 vtkInformationVector *outputVector) override;
138
139private:
140 double simplificationThreshold_{0.0};
141 bool simplify_{true};
142
143 int outputMinimumComponentId_{0};
144 int outputJoinSaddleComponentId_{0};
145 int outputSplitSaddleComponentId_{0};
146 int outputMaximumComponentId_{0};
147
148 bool outputAllMinimumComponents_{true};
149 bool outputAllJoinSaddleComponents_{true};
150 bool outputAllSplitSaddleComponents_{true};
151 bool outputAllMaximumComponents_{true};
152
153 bool computeMinimumOutput_{true};
154 bool computeJoinSaddleOutput_{true};
155 bool computeSplitSaddleOutput_{true};
156 bool computeMaximumOutput_{true};
157};
Baseclass of all VTK filters that wrap ttk modules.
Definition: ttkAlgorithm.h:34
virtual int RequestData(vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector))
Definition: ttkAlgorithm.h:390
int FillInputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
Definition: ttkAlgorithm.h:404
int FillOutputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
Definition: ttkAlgorithm.h:419
TTK VTK-filter for the computation of mandatory critical points in uncertain scalar data.
static ttkMandatoryCriticalPoints * New()
void setOutputAllSplitSaddleComponents(bool outputAll)
void setOutputAllJoinSaddleComponents(bool outputAll)
void setOutputAllMinimumComponents(bool outputAll)
void SetSimplificationThreshold(double threshold)
void setOutputAllMaximumComponents(bool outputAll)
TTK processing package for the computation of mandatory critical points in uncertain scalar data.