Wildmeshing Toolkit
wmtk::simplex::ClosedStarIterable::Iterator Class Reference

#include <ClosedStarIterable.hpp>

Collaboration diagram for wmtk::simplex::ClosedStarIterable::Iterator:
[legend]

Public Member Functions

 Iterator (ClosedStarIterable &container, const Tuple &t=Tuple())
 
Iteratoroperator++ ()
 
bool operator!= (const Iterator &other) const
 
IdSimplex operator* ()
 
const IdSimplex operator* () const
 

Private Member Functions

int64_t depth ()
 Compute the depth from the mesh and the simplex type. More...
 
void init ()
 Depending on the depth, the iterator must be initialized differently. More...
 
Iteratorstep_depth_3 ()
 Use breadth first search to find all d-simplices, and iterate through all cofaces in a d-simplex. More...
 
Iteratorstep_edge_mesh ()
 
Iteratorstep_tri_mesh ()
 
Iteratorstep_tet_mesh ()
 
Tuple navigate_to_link (Tuple t)
 
bool step_faces ()
 
bool step_faces_edge ()
 
bool step_faces_triangle ()
 
bool step_faces_tetrahedron ()
 

Private Attributes

ClosedStarIterablem_container
 
const Meshm_mesh
 
TopDimensionCofacesIterable::Iterator m_it
 
Tuple m_t
 
int8_t m_pt = -1
 
int8_t m_face_counter = 0
 
IteratorPhase m_phase = IteratorPhase::Faces
 

Detailed Description

Definition at line 21 of file ClosedStarIterable.hpp.

Constructor & Destructor Documentation

◆ Iterator()

wmtk::simplex::ClosedStarIterable::Iterator::Iterator ( ClosedStarIterable container,
const Tuple t = Tuple() 
)

Definition at line 20 of file ClosedStarIterable.cpp.

References depth(), wmtk::get_primitive_type_id(), init(), wmtk::Tuple::is_null(), m_phase, m_pt, wmtk::simplex::ClosedStarIterable::m_simplex, m_t, and wmtk::simplex::Simplex::primitive_type().

Here is the call graph for this function:

Member Function Documentation

◆ depth()

int64_t wmtk::simplex::ClosedStarIterable::Iterator::depth ( )
private

Compute the depth from the mesh and the simplex type.

The depth is "mesh top simplex dimension" - "simplex dimension".

Definition at line 92 of file ClosedStarIterable.cpp.

References wmtk::get_primitive_type_id(), wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::simplex::Simplex::primitive_type(), and wmtk::Mesh::top_cell_dimension().

Referenced by Iterator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void wmtk::simplex::ClosedStarIterable::Iterator::init ( )
private

Depending on the depth, the iterator must be initialized differently.

Definition at line 101 of file ClosedStarIterable.cpp.

Referenced by Iterator().

Here is the caller graph for this function:

◆ navigate_to_link()

Tuple wmtk::simplex::ClosedStarIterable::Iterator::navigate_to_link ( Tuple  t)
private

Definition at line 335 of file ClosedStarIterable.cpp.

References wmtk::get_primitive_type_from_id(), wmtk::get_primitive_type_id(), wmtk::Tuple::is_null(), wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::simplex::Simplex::primitive_type(), wmtk::Mesh::switch_tuple(), and wmtk::Mesh::top_cell_dimension().

Here is the call graph for this function:

◆ operator!=()

bool wmtk::simplex::ClosedStarIterable::Iterator::operator!= ( const Iterator other) const

Definition at line 77 of file ClosedStarIterable.cpp.

References m_pt, and m_t.

◆ operator*() [1/2]

IdSimplex wmtk::simplex::ClosedStarIterable::Iterator::operator* ( )

Definition at line 82 of file ClosedStarIterable.cpp.

References wmtk::get_primitive_type_from_id().

Here is the call graph for this function:

◆ operator*() [2/2]

const IdSimplex wmtk::simplex::ClosedStarIterable::Iterator::operator* ( ) const

Definition at line 87 of file ClosedStarIterable.cpp.

References wmtk::get_primitive_type_from_id().

Here is the call graph for this function:

◆ operator++()

ClosedStarIterable::Iterator & wmtk::simplex::ClosedStarIterable::Iterator::operator++ ( )

Definition at line 39 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::get_primitive_type_id(), wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::Tetrahedron, wmtk::Mesh::top_cell_dimension(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ step_depth_3()

ClosedStarIterable::Iterator & wmtk::simplex::ClosedStarIterable::Iterator::step_depth_3 ( )
private

Use breadth first search to find all d-simplices, and iterate through all cofaces in a d-simplex.

Definition at line 103 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::Mesh::get_id_simplex(), wmtk::get_primitive_type_from_id(), wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::simplex::Simplex::primitive_type(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ step_edge_mesh()

ClosedStarIterable::Iterator & wmtk::simplex::ClosedStarIterable::Iterator::step_edge_mesh ( )
private

Definition at line 172 of file ClosedStarIterable.cpp.

References wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::Mesh::switch_tuple(), and wmtk::Vertex.

Here is the call graph for this function:

◆ step_faces()

bool wmtk::simplex::ClosedStarIterable::Iterator::step_faces ( )
private

Definition at line 369 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

◆ step_faces_edge()

bool wmtk::simplex::ClosedStarIterable::Iterator::step_faces_edge ( )
private

Definition at line 381 of file ClosedStarIterable.cpp.

References wmtk::Vertex.

◆ step_faces_tetrahedron()

bool wmtk::simplex::ClosedStarIterable::Iterator::step_faces_tetrahedron ( )
private

Definition at line 406 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::PE, PF, wmtk::PV, wmtk::Mesh::switch_tuples(), wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ step_faces_triangle()

bool wmtk::simplex::ClosedStarIterable::Iterator::step_faces_triangle ( )
private

Definition at line 392 of file ClosedStarIterable.cpp.

References wmtk::Edge, and wmtk::Vertex.

◆ step_tet_mesh()

ClosedStarIterable::Iterator & wmtk::simplex::ClosedStarIterable::Iterator::step_tet_mesh ( )
private

Definition at line 261 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::PE, PF, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

◆ step_tri_mesh()

ClosedStarIterable::Iterator & wmtk::simplex::ClosedStarIterable::Iterator::step_tri_mesh ( )
private

Definition at line 197 of file ClosedStarIterable.cpp.

References wmtk::Edge, wmtk::simplex::ClosedStarIterable::m_mesh, wmtk::PE, wmtk::simplex::Simplex::primitive_type(), wmtk::PV, wmtk::Mesh::switch_tuple(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, and wmtk::Vertex.

Here is the call graph for this function:

Member Data Documentation

◆ m_container

ClosedStarIterable& wmtk::simplex::ClosedStarIterable::Iterator::m_container
private

Definition at line 61 of file ClosedStarIterable.hpp.

◆ m_face_counter

int8_t wmtk::simplex::ClosedStarIterable::Iterator::m_face_counter = 0
private

Definition at line 67 of file ClosedStarIterable.hpp.

◆ m_it

TopDimensionCofacesIterable::Iterator wmtk::simplex::ClosedStarIterable::Iterator::m_it
private

Definition at line 64 of file ClosedStarIterable.hpp.

◆ m_mesh

const Mesh& wmtk::simplex::ClosedStarIterable::Iterator::m_mesh
private

Definition at line 62 of file ClosedStarIterable.hpp.

◆ m_phase

IteratorPhase wmtk::simplex::ClosedStarIterable::Iterator::m_phase = IteratorPhase::Faces
private

Definition at line 68 of file ClosedStarIterable.hpp.

Referenced by Iterator().

◆ m_pt

int8_t wmtk::simplex::ClosedStarIterable::Iterator::m_pt = -1
private

Definition at line 66 of file ClosedStarIterable.hpp.

Referenced by Iterator(), and operator!=().

◆ m_t

Tuple wmtk::simplex::ClosedStarIterable::Iterator::m_t
private

Definition at line 65 of file ClosedStarIterable.hpp.

Referenced by Iterator(), and operator!=().


The documentation for this class was generated from the following files: