File: test_edges.py

package info (click to toggle)
trimesh 4.5.1-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 33,416 kB
  • sloc: python: 35,596; makefile: 96; javascript: 85; sh: 38
file content (32 lines) | stat: -rw-r--r-- 1,021 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
try:
    from . import generic as g
except BaseException:
    import generic as g


class EdgeTest(g.unittest.TestCase):
    def test_face_unique(self):
        m = g.get_mesh("featuretype.STL")

        # our basic edges should have the same
        # unique values as our faces
        face_set = set(m.faces.ravel())
        assert set(m.edges_sorted.ravel()) == face_set
        assert set(m.edges_unique.ravel()) == face_set
        assert set(m.edges.ravel()) == face_set

        # check relation of edges_unique and faces_unique_edges
        e = m.edges_unique[m.faces_unique_edges].reshape((-1, 6))
        # should now be a row of 3 pairs of equal values
        e.sort(axis=1)
        # pairs should all be equal
        e = e.reshape((-1, 2))
        assert (e[:, 0] == e[:, 1]).all()

        # should be the same values as the original faces
        assert (e[:, 0].reshape((-1, 3)) == g.np.sort(m.faces, axis=1)).all()


if __name__ == "__main__":
    g.trimesh.util.attach_to_log()
    g.unittest.main()