Wildmeshing Toolkit
wmtk::components::internal::SimplicialEmbedding Class Reference

#include <SimplicialEmbedding.hpp>

Collaboration diagram for wmtk::components::internal::SimplicialEmbedding:
[legend]

Public Member Functions

 SimplicialEmbedding (Mesh &mesh, const std::vector< attribute::MeshAttributeHandle > &label_attributes, const int64_t &value, const std::vector< attribute::MeshAttributeHandle > &pass_through_attributes)
 
void regularize_tags (bool generate_simplicial_embedding=true)
 Regularize tags in mesh. More...
 

Private Attributes

Meshm_mesh
 
std::vector< attribute::MeshAttributeHandlem_label_attributes
 
int64_t m_value
 
std::vector< attribute::MeshAttributeHandlem_pass_through_attributes
 

Detailed Description

Definition at line 11 of file SimplicialEmbedding.hpp.

Constructor & Destructor Documentation

◆ SimplicialEmbedding()

wmtk::components::internal::SimplicialEmbedding::SimplicialEmbedding ( Mesh mesh,
const std::vector< attribute::MeshAttributeHandle > &  label_attributes,
const int64_t &  value,
const std::vector< attribute::MeshAttributeHandle > &  pass_through_attributes 
)

Definition at line 42 of file SimplicialEmbedding.cpp.

Member Function Documentation

◆ regularize_tags()

void wmtk::components::internal::SimplicialEmbedding::regularize_tags ( bool  generate_simplicial_embedding = true)

Regularize tags in mesh.

First, it is made sure that tags represent a simplicial complex, i.e., all faces of a tagged simplex are also tagged. Second (optional), split simplices who's faces are tagged but that are not tagged themselves.

Definition at line 53 of file SimplicialEmbedding.cpp.

References wmtk::operations::Operation::add_invariant(), wmtk::SimplexInversionInvariant< T >::after(), wmtk::operations::composite::TetCellSplit::collapse(), wmtk::operations::composite::TriFaceSplit::collapse(), wmtk::Mesh::create_accessor(), wmtk::Edge, wmtk::simplex::faces(), wmtk::simplex::faces_single_dimension_tuples(), wmtk::Mesh::get_all(), wmtk::Mesh::get_attribute_handle(), wmtk::get_primitive_type_from_id(), wmtk::get_primitive_type_id(), wmtk::attribute::MeshAttributeHandle::handle(), wmtk::Mesh::has_attribute(), wmtk::log_and_throw_error(), wmtk::logger(), wmtk::components::internal::TagAttribute::m_accessor, m_label_attributes, m_mesh, m_pass_through_attributes, m_value, wmtk::SchedulerStats::number_of_successful_operations(), wmtk::Mesh::register_attribute(), wmtk::Scheduler::run_operation_on_all(), wmtk::attribute::Accessor< T, MeshType, Dim >::scalar_attribute(), wmtk::operations::EdgeCollapse::set_new_attribute_strategy(), wmtk::operations::EdgeSplit::set_new_attribute_strategy(), wmtk::operations::composite::TetCellSplit::split(), wmtk::operations::composite::TriFaceSplit::split(), wmtk::Tetrahedron, wmtk::Mesh::top_cell_dimension(), wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.

Referenced by wmtk::components::simplicial_embedding().

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

Member Data Documentation

◆ m_label_attributes

std::vector<attribute::MeshAttributeHandle> wmtk::components::internal::SimplicialEmbedding::m_label_attributes
private

Definition at line 32 of file SimplicialEmbedding.hpp.

Referenced by regularize_tags().

◆ m_mesh

Mesh& wmtk::components::internal::SimplicialEmbedding::m_mesh
private

Definition at line 30 of file SimplicialEmbedding.hpp.

Referenced by regularize_tags().

◆ m_pass_through_attributes

std::vector<attribute::MeshAttributeHandle> wmtk::components::internal::SimplicialEmbedding::m_pass_through_attributes
private

Definition at line 35 of file SimplicialEmbedding.hpp.

Referenced by regularize_tags().

◆ m_value

int64_t wmtk::components::internal::SimplicialEmbedding::m_value
private

Definition at line 33 of file SimplicialEmbedding.hpp.

Referenced by regularize_tags().


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