16 , m_tdc_itrbl(mesh, simplex, true)
17 , m_it_end(m_tdc_itrbl.end())
21 : m_container(container)
22 , m_it(container.m_tdc_itrbl, t)
36 return step_depth_3();
39 const Mesh& mesh = m_container.m_mesh;
44 if (m_pt < m && !m_it.is_intermediate()) {
63 return (m_t != other.
m_t) || (m_pt != other.
m_pt);
78 const Mesh& mesh = m_container.m_mesh;
90 const Mesh& mesh = m_container.m_mesh;
92 auto& visited = m_container.m_visited_cofaces;
111 for (; m_edge_counter < 3; ++m_edge_counter) {
112 for (; m_pt < 3; ++m_pt) {
113 if (!visited[m_pt - 1].is_visited(
Tuple switch_tuples(const Tuple &tuple, const ContainerType &op_sequence) const
int64_t top_cell_dimension() const
simplex::IdSimplex get_id_simplex(const Tuple &tuple, PrimitiveType pt) const
Retrieve the IdSimplex that is represented by the tuple and primitive type.
PrimitiveType top_simplex_type() const
bool is_null() const
Checks if a tuple is "null". This merely implies the global index is -1.
void init()
Depending on the depth, the iterator must be initialized differently.
bool operator!=(const Iterator &other) const
int64_t depth()
Compute the depth from the mesh and the simplex type.
Iterator(OpenStarIterable &container, const Tuple &t=Tuple())
Iterator & step_depth_3()
Use breadth first search to find all d-simplices, and iterate through all cofaces in a d-simplex.
This iterator internally uses TopDimensionCofacesIterable.
OpenStarIterable(const Mesh &mesh, const Simplex &simplex)
PrimitiveType primitive_type() const
constexpr PrimitiveType get_primitive_type_from_id(int8_t id)
Get the primitive type corresponding to its unique integer id.
constexpr int8_t get_primitive_type_id(PrimitiveType t)
Get a unique integer id corresponding to each primitive type.