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

#include <OpenStarIterable.hpp>

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

Public Member Functions

 Iterator (OpenStarIterable &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...
 

Private Attributes

OpenStarIterablem_container
 
TopDimensionCofacesIterable::Iterator m_it
 
Tuple m_t
 
int8_t m_pt = -1
 
int8_t m_edge_counter = 0
 

Detailed Description

Definition at line 19 of file OpenStarIterable.hpp.

Constructor & Destructor Documentation

◆ Iterator()

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

Definition at line 20 of file OpenStarIterable.cpp.

References init(), wmtk::Tuple::is_null(), and m_t.

Here is the call graph for this function:

Member Function Documentation

◆ depth()

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

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

Definition at line 86 of file OpenStarIterable.cpp.

Referenced by Iterator().

Here is the caller graph for this function:

◆ operator!=()

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

Definition at line 61 of file OpenStarIterable.cpp.

References m_pt, and m_t.

◆ operator*() [1/2]

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

Definition at line 66 of file OpenStarIterable.cpp.

References wmtk::get_primitive_type_from_id().

Here is the call graph for this function:

◆ operator*() [2/2]

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

Definition at line 71 of file OpenStarIterable.cpp.

References wmtk::get_primitive_type_from_id().

Here is the call graph for this function:

◆ operator++()

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

Definition at line 33 of file OpenStarIterable.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:

◆ step_depth_3()

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

References wmtk::Edge, wmtk::Mesh::get_id_simplex(), wmtk::get_primitive_type_from_id(), 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:

Member Data Documentation

◆ m_container

OpenStarIterable& wmtk::simplex::OpenStarIterable::Iterator::m_container
private

Definition at line 48 of file OpenStarIterable.hpp.

◆ m_edge_counter

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

Definition at line 52 of file OpenStarIterable.hpp.

◆ m_it

TopDimensionCofacesIterable::Iterator wmtk::simplex::OpenStarIterable::Iterator::m_it
private

Definition at line 49 of file OpenStarIterable.hpp.

◆ m_pt

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

Definition at line 51 of file OpenStarIterable.hpp.

Referenced by operator!=().

◆ m_t

Tuple wmtk::simplex::OpenStarIterable::Iterator::m_t
private

Definition at line 50 of file OpenStarIterable.hpp.

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


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