TTK
Loading...
Searching...
No Matches
ttkFiberSurface.h
Go to the documentation of this file.
1
44
45#pragma once
46
47// VTK Module
48#include <ttkFiberSurfaceModule.h>
49
50// ttk code includes
51#include <FiberSurface.h>
52#include <ttkAlgorithm.h>
53
54class TTKFIBERSURFACE_EXPORT ttkFiberSurface : public ttkAlgorithm,
55 protected ttk::FiberSurface {
56
57public:
60
61 vtkGetMacro(RangeCoordinates, bool);
62 vtkSetMacro(RangeCoordinates, bool);
63
64 vtkGetMacro(EdgeParameterization, bool);
65 vtkSetMacro(EdgeParameterization, bool);
66
67 vtkGetMacro(EdgeIds, bool);
68 vtkSetMacro(EdgeIds, bool);
69
70 vtkGetMacro(TetIds, bool);
71 vtkSetMacro(TetIds, bool);
72
73 vtkGetMacro(CaseIds, bool);
74 vtkSetMacro(CaseIds, bool);
75
76 vtkGetMacro(PointMerge, bool);
77 vtkSetMacro(PointMerge, bool);
78
79 vtkGetMacro(RangeOctree, bool);
80 vtkSetMacro(RangeOctree, bool);
81
82 vtkGetMacro(PointMergeDistanceThreshold, double);
83 vtkSetMacro(PointMergeDistanceThreshold, double);
84
85protected:
87
88 int FillInputPortInformation(int port, vtkInformation *info) override;
89 int FillOutputPortInformation(int port, vtkInformation *info) override;
90 int RequestData(vtkInformation *request,
91 vtkInformationVector **inputVector,
92 vtkInformationVector *outputVector) override;
93
94 template <typename VTK_T1, typename VTK_T2>
95 int dispatch(ttk::Triangulation *const triangulation);
96
97private:
98 bool RangeCoordinates{true}, EdgeParameterization{true}, EdgeIds{true},
99 TetIds{true}, CaseIds{true}, RangeOctree{true}, PointMerge{false};
100
101 double PointMergeDistanceThreshold{0.000001};
102
103 // NOTE: we assume here that this guy is small and that making a copy from
104 // VTK is not an issue.
105 std::vector<std::pair<std::pair<double, double>, std::pair<double, double>>>
106 inputPolygon_{};
107
108 std::vector<ttk::FiberSurface::Vertex> outputVertexList_{};
109 std::vector<std::vector<ttk::FiberSurface::Vertex>> threadedVertexList_{};
110 std::vector<std::vector<ttk::FiberSurface::Triangle>> threadedTriangleList_{};
111};
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 computes fiber surfaces.
static ttkFiberSurface * New()
TTK processing package that computes fiber surfaces.
Triangulation is a class that provides time and memory efficient traversal methods on triangulations ...