MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / remove_zero_edges

Method remove_zero_edges

tools/MeshUtils/DegeneratedTriangleRemoval.cpp:56–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54}
55
56size_t DegeneratedTriangleRemoval::remove_zero_edges() {
57 ShortEdgeRemoval remover(m_vertices, m_faces);
58 const size_t num_removed = remover.run(std::numeric_limits<Float>::epsilon());
59 m_vertices = remover.get_vertices();
60 m_faces = remover.get_faces();
61
62 auto sources = remover.get_face_indices();
63 const size_t num_faces = m_faces.rows();
64 assert(num_faces == sources.rows());
65 assert(sources.size() == 0 || sources.minCoeff() >= 0);
66 assert(sources.size() == 0 ||
67 sources.maxCoeff() < m_ori_face_indices.size());
68
69 VectorI updated_ori_face_indices(num_faces);
70 for (size_t i=0; i<num_faces; i++) {
71 updated_ori_face_indices[i] = m_ori_face_indices[sources[i]];
72 }
73 m_ori_face_indices = updated_ori_face_indices;
74
75 return num_removed;
76}
77
78size_t DegeneratedTriangleRemoval::remove_line_faces() {
79 init_edge_map();

Callers

nothing calls this directly

Calls 5

runMethod · 0.45
get_verticesMethod · 0.45
get_facesMethod · 0.45
get_face_indicesMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected