Wildmeshing Toolkit
TodoInvariant.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <optional>
5 #include "Invariant.hpp"
6 
7 namespace wmtk {
8 class TodoInvariant : public Invariant
9 {
14 public:
16  const Mesh& m,
17  const TypedAttributeHandle<int64_t>& todo_handle,
18  const int64_t val = 1);
19  bool before(const simplex::Simplex& t) const override;
20 
21 private:
23  const int64_t m_val;
24 };
25 
27 {
32 public:
34  const Mesh& m,
35  const TypedAttributeHandle<double>& todo_handle,
36  const double val);
37 
39  const Mesh& m,
40  const TypedAttributeHandle<double>& todo_handle,
41  const TypedAttributeHandle<double>& comparison_handle,
42  const double pre_factor = 1);
43 
44  bool before(const simplex::Simplex& t) const override;
45 
46 private:
48  const std::optional<TypedAttributeHandle<double>> m_comparison_handle;
49  const double m_val;
50 };
51 
53 {
58 public:
60  const Mesh& m,
61  const TypedAttributeHandle<double>& todo_handle,
62  const double val);
63 
65  const Mesh& m,
66  const TypedAttributeHandle<double>& todo_handle,
67  const TypedAttributeHandle<double>& comparison_handle,
68  const double pre_factor = 1);
69 
70  bool before(const simplex::Simplex& t) const override;
71 
72 private:
74  const std::optional<TypedAttributeHandle<double>> m_comparison_handle;
75  const double m_val;
76 };
77 } // namespace wmtk
bool before(const simplex::Simplex &t) const override
const TypedAttributeHandle< int64_t > m_todo_handle
const int64_t m_val
TodoInvariant(const Mesh &m, const TypedAttributeHandle< int64_t > &todo_handle, const int64_t val=1)
Invariant for todo-list in scheduler.
const std::optional< TypedAttributeHandle< double > > m_comparison_handle
const TypedAttributeHandle< double > m_todo_handle
TodoLargerInvariant(const Mesh &m, const TypedAttributeHandle< double > &todo_handle, const double val)
Invariant for todo-list in scheduler.
bool before(const simplex::Simplex &t) const override
const std::optional< TypedAttributeHandle< double > > m_comparison_handle
TodoSmallerInvariant(const Mesh &m, const TypedAttributeHandle< double > &todo_handle, const double val)
Invariant for todo-list in scheduler.
bool before(const simplex::Simplex &t) const override
const TypedAttributeHandle< double > m_todo_handle
Handle that represents attributes for some mesh.
Definition: Accessor.hpp:6