Wildmeshing Toolkit
Loading...
Searching...
No Matches
LinkSingleDimensionIterable.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <queue>
4
5#include <wmtk/Mesh.hpp>
10
12
13namespace wmtk::simplex {
14
24{
25public:
27 {
28 public:
29 Iterator(LinkSingleDimensionIterable& container, const Tuple& t = Tuple());
31 bool operator!=(const Iterator& other) const;
33 const Tuple& operator*() const;
34
35 private:
41 int64_t depth();
45 bool is_link_d1();
46
50 void init();
51
57
59
60 private:
64 int8_t m_edge_counter = 0;
65 };
66
67public:
69 const Mesh& mesh,
70 const Simplex& simplex,
71 const PrimitiveType cofaces_type);
72
73 Iterator begin() { return Iterator(*this, m_simplex.tuple()); }
74 Iterator end() { return Iterator(*this); }
75
76private:
77 const Mesh& m_mesh;
82
84};
85
86} // namespace wmtk::simplex
The Tuple is the basic navigation tool in our mesh data structure.
Definition Tuple.hpp:19
const Tuple & tuple() const
Definition Simplex.hpp:53
Iterating through the d-simplices of a mesh can be done in different ways, depending on the simplex d...