27 std::set<int64_t>
run();
62 int64_t
vid(
const Tuple& tuple)
const;
77 const T& tag_value,
bool child_is_free);
Handle that represents attributes for some mesh.
TupleTag is a util helper class for tagging edges in a triangle mesh.
const Mesh & mesh() const
wmtk::attribute::Accessor< int64_t > m_vertex_tag_acc
int64_t get_edge_tag(const Tuple &tuple) const
bool vertex_is_root(const Tuple &v) const
std::set< int64_t > run()
void set_edge_tag(const Tuple &tuple, int64_t tag)
bool is_critical_vertex(const Tuple &v) const
Check if a vertex is a critical point.
void vertex_set_root(const Tuple &v, int64_t root)
wmtk::attribute::Accessor< int64_t > m_edge_tag_acc
void set_vertex_tag(const Tuple &tuple, int64_t tag)
void vertex_sets_unify(const Tuple &v1, const Tuple &v2)
Given two vertex tuple, join the sets that contain them.
TupleTag(Mesh &mesh, const std::set< int64_t > &critical_points)
Tuple v_tuple(int64_t vid) const
int64_t vertex_get_root(const Tuple &v) const
void initialize()
Go through edges of the parent mesh (triangle mesh) and initialize all the vertex tags to be -1.
int64_t vid(const Tuple &tuple) const
static std::shared_ptr< Mesh > extract_and_register_child_mesh_from_tag_handle(Mesh &m, const wmtk::attribute::TypedAttributeHandle< T > &tag_handle, const T &tag_value, bool child_is_free)
int64_t get_vertex_tag(const Tuple &tuple) const
std::set< int64_t > m_critical_points