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

#include <CofacesSingleDimensionIterable.hpp>

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

Public Member Functions

 Iterator (CofacesSingleDimensionIterable &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_coface_d0 ()
 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...
 

Private Attributes

CofacesSingleDimensionIterablem_container
 
TopDimensionCofacesIterable::Iterator m_it
 
int8_t m_edge_counter = 0
 

Detailed Description

Definition at line 26 of file CofacesSingleDimensionIterable.hpp.

Constructor & Destructor Documentation

◆ Iterator()

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

Definition at line 23 of file CofacesSingleDimensionIterable.cpp.

References init().

Here is the call graph for this function:

Member Function Documentation

◆ depth()

int64_t wmtk::simplex::CofacesSingleDimensionIterable::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 66 of file CofacesSingleDimensionIterable.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::CofacesSingleDimensionIterable::Iterator::init ( )
private

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

Definition at line 82 of file CofacesSingleDimensionIterable.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_coface_d0()

bool wmtk::simplex::CofacesSingleDimensionIterable::Iterator::is_coface_d0 ( )
private

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

Definition at line 76 of file CofacesSingleDimensionIterable.cpp.

References wmtk::get_primitive_type_id().

Here is the call graph for this function:

◆ operator!=()

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

Definition at line 51 of file CofacesSingleDimensionIterable.cpp.

◆ operator*() [1/2]

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

Definition at line 56 of file CofacesSingleDimensionIterable.cpp.

◆ operator*() [2/2]

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

Definition at line 61 of file CofacesSingleDimensionIterable.cpp.

◆ operator++()

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

Definition at line 36 of file CofacesSingleDimensionIterable.cpp.

◆ step_depth_3()

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

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

Here is the call graph for this function:

Member Data Documentation

◆ m_container

CofacesSingleDimensionIterable& wmtk::simplex::CofacesSingleDimensionIterable::Iterator::m_container
private

Definition at line 59 of file CofacesSingleDimensionIterable.hpp.

◆ m_edge_counter

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

Definition at line 61 of file CofacesSingleDimensionIterable.hpp.

◆ m_it

TopDimensionCofacesIterable::Iterator wmtk::simplex::CofacesSingleDimensionIterable::Iterator::m_it
private

Definition at line 60 of file CofacesSingleDimensionIterable.hpp.


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