Wildmeshing Toolkit
wmtk::components::TagIntersection Class Reference

#include <TagIntersection.hpp>

Public Member Functions

void compute_intersection (Mesh &m, const std::vector< std::tuple< attribute::MeshAttributeHandle, int64_t >> &input_tags, const std::vector< std::tuple< attribute::MeshAttributeHandle, int64_t >> &output_tags)
 

Private Member Functions

bool simplex_is_in_intersection (Mesh &m, const simplex::Simplex &s, const std::deque< TagAttribute > &input_tag_attributes)
 Check if a given simplex is in the intersection of a given set of tag attributes. More...
 

Detailed Description

Definition at line 74 of file TagIntersection.hpp.

Member Function Documentation

◆ compute_intersection()

void wmtk::components::TagIntersection::compute_intersection ( Mesh m,
const std::vector< std::tuple< attribute::MeshAttributeHandle, int64_t >> &  input_tags,
const std::vector< std::tuple< attribute::MeshAttributeHandle, int64_t >> &  output_tags 
)
Parameters
mMesh with tags.
input_tagsA vector that contain different tag attributes and the tag value which needs to be considered.
output_tagsA vector of attibutehandles, which contains the intersection tags.

Definition at line 32 of file TagIntersection.cpp.

References wmtk::Edge, wmtk::simplex::Simplex::edge(), wmtk::simplex::Simplex::face(), wmtk::Mesh::get_all(), simplex_is_in_intersection(), wmtk::Tetrahedron, wmtk::simplex::Simplex::tetrahedron(), wmtk::Mesh::top_cell_dimension(), wmtk::Triangle, wmtk::Vertex, and wmtk::simplex::Simplex::vertex().

Here is the call graph for this function:

◆ simplex_is_in_intersection()

bool wmtk::components::TagIntersection::simplex_is_in_intersection ( Mesh m,
const simplex::Simplex s,
const std::deque< TagAttribute > &  input_tag_attributes 
)
private

Check if a given simplex is in the intersection of a given set of tag attributes.

We consider a simplex as tagged if any of its cofaces, i.e. any simplex in its open star, is tagged. If a simplex is tagged by all given attributes, it is in the intersection and the function returns true.

Parameters
mMesh with tags.
sCandidate simplex for intersection check.
input_tag_attributesVector of tag attributes that are considered in the intersection test.

Definition at line 6 of file TagIntersection.cpp.

References wmtk::simplex::open_star(), and wmtk::simplex::SimplexCollection::simplex_vector().

Referenced by compute_intersection().

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

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