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

#include <LinkSingleDimensionIterable.hpp>

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

Public Member Functions

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

Private Member Functions

int64_t depth ()
 Compute the depth from the mesh and the simplex type. More...
 
bool is_link_d1 ()
 Check if coface type is the mesh's top 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...
 
Tuple navigate_to_link (Tuple t)
 

Private Attributes

LinkSingleDimensionIterablem_container
 
TopDimensionCofacesIterable::Iterator m_it
 
Tuple m_t
 
int8_t m_edge_counter = 0
 

Detailed Description

Definition at line 26 of file LinkSingleDimensionIterable.hpp.

Constructor & Destructor Documentation

◆ Iterator()

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

Member Function Documentation

◆ depth()

int64_t wmtk::simplex::LinkSingleDimensionIterable::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 79 of file LinkSingleDimensionIterable.cpp.

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

Here is the call graph for this function:

◆ init()

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

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

Definition at line 95 of file LinkSingleDimensionIterable.cpp.

References wmtk::Mesh::get_id_simplex().

Referenced by Iterator().

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

◆ is_link_d1()

bool wmtk::simplex::LinkSingleDimensionIterable::Iterator::is_link_d1 ( )
private

Check if coface type is the mesh's top simplex type.

Definition at line 89 of file LinkSingleDimensionIterable.cpp.

References wmtk::get_primitive_type_id().

Here is the call graph for this function:

◆ navigate_to_link()

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

Definition at line 137 of file LinkSingleDimensionIterable.cpp.

References wmtk::get_primitive_type_from_id(), wmtk::get_primitive_type_id(), wmtk::Tuple::is_null(), 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::LinkSingleDimensionIterable::Iterator::operator!= ( const Iterator other) const

Definition at line 64 of file LinkSingleDimensionIterable.cpp.

◆ operator*() [1/2]

Tuple & wmtk::simplex::LinkSingleDimensionIterable::Iterator::operator* ( )

Definition at line 69 of file LinkSingleDimensionIterable.cpp.

◆ operator*() [2/2]

const Tuple & wmtk::simplex::LinkSingleDimensionIterable::Iterator::operator* ( ) const

Definition at line 74 of file LinkSingleDimensionIterable.cpp.

◆ operator++()

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

Definition at line 53 of file LinkSingleDimensionIterable.cpp.

◆ step_depth_3()

LinkSingleDimensionIterable::Iterator & wmtk::simplex::LinkSingleDimensionIterable::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 107 of file LinkSingleDimensionIterable.cpp.

References wmtk::Edge, wmtk::Mesh::get_id_simplex(), wmtk::Mesh::switch_tuples(), and wmtk::Vertex.

Here is the call graph for this function:

Member Data Documentation

◆ m_container

LinkSingleDimensionIterable& wmtk::simplex::LinkSingleDimensionIterable::Iterator::m_container
private

Definition at line 61 of file LinkSingleDimensionIterable.hpp.

Referenced by Iterator().

◆ m_edge_counter

int8_t wmtk::simplex::LinkSingleDimensionIterable::Iterator::m_edge_counter = 0
private

Definition at line 64 of file LinkSingleDimensionIterable.hpp.

◆ m_it

TopDimensionCofacesIterable::Iterator wmtk::simplex::LinkSingleDimensionIterable::Iterator::m_it
private

Definition at line 62 of file LinkSingleDimensionIterable.hpp.

◆ m_t

Tuple wmtk::simplex::LinkSingleDimensionIterable::Iterator::m_t
private

Definition at line 63 of file LinkSingleDimensionIterable.hpp.

Referenced by Iterator().


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