TTK
Loading...
Searching...
No Matches
HarmonicField.h
Go to the documentation of this file.
1
18
19#pragma once
20
21// base code includes
22#include <Laplacian.h>
23#include <Triangulation.h>
24
25namespace ttk {
26
27 class HarmonicField : virtual public Debug {
28
29 protected:
32
34 this->setDebugMsgPrefix("HarmonicField");
35 }
36
37 inline void
40 }
41
42 template <class T, class TriangulationType = AbstractTriangulation>
43 int execute(const TriangulationType &triangulation,
44 const SimplexId constraintNumber,
45 const SimplexId *const sources,
46 const T *const constraints,
47 T *const outputScalarField,
48 const bool useCotanWeights = true,
49 const SolvingMethodUserType solvingMethod
51 const double logAlpha = 5.0) const;
52
53 private:
54 SolvingMethodType findBestSolver(const SimplexId vertexNumber,
55 const SimplexId edgeNumber) const;
56
57 template <typename SparseMatrixType,
58 typename SparseVectorType,
59 typename SolverType>
60 int solve(SparseMatrixType const &lap,
61 SparseMatrixType const &penalty,
62 SparseVectorType const &constraints,
63 SparseMatrixType &sol) const;
64 };
65} // namespace ttk
AbstractTriangulation is an interface class that defines an interface for efficient traversal methods...
Minimalist debugging class.
Definition: Debug.h:88
void setDebugMsgPrefix(const std::string &prefix)
Definition: Debug.h:364
TTK processing package for the topological simplification of scalar data.
Definition: HarmonicField.h:27
void preconditionTriangulation(AbstractTriangulation &triangulation) const
Definition: HarmonicField.h:38
int execute(const TriangulationType &triangulation, const SimplexId constraintNumber, const SimplexId *const sources, const T *const constraints, T *const outputScalarField, const bool useCotanWeights=true, const SolvingMethodUserType solvingMethod=SolvingMethodUserType::AUTO, const double logAlpha=5.0) const
void preconditionTriangulation(AbstractTriangulation &triangulation)
Triangulation precondition function.
Definition: Laplacian.h:12
The Topology ToolKit.
int SimplexId
Identifier type for simplices of any dimension.
Definition: DataTypes.h:22