TTK
Loading...
Searching...
No Matches
ttkMetricDistortion.h
Go to the documentation of this file.
1
28
29#pragma once
30
31// VTK Module
32#include <ttkMetricDistortionModule.h>
33
34// VTK Includes
35#include <ttkAlgorithm.h>
36
37/* Note on including VTK modules
38 *
39 * Each VTK module that you include a header from needs to be specified in this
40 * module's vtk.module file, either in the DEPENDS or PRIVATE_DEPENDS (if the
41 * header is included in the cpp file only) sections.
42 *
43 * In order to find the corresponding module, check its location within the VTK
44 * source code. The VTK module name is composed of the path to the header. You
45 * can also find the module name within the vtk.module file located in the same
46 * directory as the header file.
47 *
48 * For example, vtkSphereSource.h is located in directory VTK/Filters/Sources/,
49 * so its corresponding VTK module is called VTK::FiltersSources. In this case,
50 * the vtk.module file would need to be extended to
51 *
52 * NAME
53 * ttkMetricDistortion
54 * DEPENDS
55 * ttkAlgorithm
56 * VTK::FiltersSources
57 */
58
59// TTK Base Includes
60#include <MetricDistortion.h>
61
62class TTKMETRICDISTORTION_EXPORT ttkMetricDistortion
63 : public ttkAlgorithm // we inherit from the generic ttkAlgorithm class
64 ,
65 protected ttk::MetricDistortion // and we inherit from the base class
66{
67private:
68 // Filled by the algorithm
69 // Area
70 std::vector<double> surfaceArea_, metricArea_, ratioArea_;
71 // Distance
72 std::vector<double> surfaceDistance_, metricDistance_, ratioDistance_;
73 std::vector<std::array<double, 3>> surfacePointDistance_,
74 metricPointDistance_, ratioPointDistance_;
75 // Curvature
76 std::vector<double> surfaceCurvature_, metricCurvature_, diffCurvature_;
77
83public:
95
96protected:
103
108 int FillInputPortInformation(int port, vtkInformation *info) override;
109
114 int FillOutputPortInformation(int port, vtkInformation *info) override;
115
120 int RequestData(vtkInformation *request,
121 vtkInformationVector **inputVector,
122 vtkInformationVector *outputVector) override;
123
124 template <class tableDataType>
125 int run(vtkInformationVector **inputVector);
126};
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 that wraps the ttk::MetricDistortion module.
static ttkMetricDistortion * New()
~ttkMetricDistortion() override