27 std::set<int64_t>
run();
62 int64_t
vid(
const Tuple& tuple)
const;
77 const T& tag_value,
bool child_is_free);
The Tuple is the basic navigation tool in our mesh data structure.
An Accessor that uses tuples for accessing attributes instead of indices.
Handle that represents attributes for some mesh.
TupleTag is a util helper class for tagging edges in a triangle mesh.
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()
const Mesh & mesh() const
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.
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