TTK
Loading...
Searching...
No Matches
ttkDiscreteGradient.h
Go to the documentation of this file.
1
38
39#pragma once
40
41// VTK Module
42#include <ttkDiscreteGradientModule.h>
43
44// ttk code includes
45#include <DiscreteGradient.h>
46#include <ttkAlgorithm.h>
47
48class vtkPolyData;
49
50class TTKDISCRETEGRADIENT_EXPORT ttkDiscreteGradient
51 : public ttkAlgorithm,
53
54public:
57
58 vtkSetMacro(ForceInputOffsetScalarField, bool);
59 vtkGetMacro(ForceInputOffsetScalarField, bool);
60
61 vtkSetMacro(ComputeGradientGlyphs, bool);
62 vtkGetMacro(ComputeGradientGlyphs, bool);
63
64protected:
66
67 int FillInputPortInformation(int port, vtkInformation *info) override;
68 int FillOutputPortInformation(int port, vtkInformation *info) override;
69 int RequestData(vtkInformation *request,
70 vtkInformationVector **inputVector,
71 vtkInformationVector *outputVector) override;
72
73private:
74 template <typename scalarType, typename triangulationType>
75 int fillCriticalPoints(vtkPolyData *output,
76 vtkDataArray *const inputScalars,
77 const triangulationType &triangulation);
78
79 template <typename triangulationType>
80 int fillGradientGlyphs(vtkPolyData *const outputGradientGlyphs,
81 const triangulationType &triangulation);
82
83 bool ForceInputOffsetScalarField{false};
84 bool ComputeGradientGlyphs{true};
85};
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 discreteGradient processing package.
static ttkDiscreteGradient * New()
TTK discreteGradient processing package.