def test_simple_3D(self):
        vertices = np.array([
            [0.0, 0.0, 0.0],
            [1.0, 0.0, 0.0],
            [0.0, 1.0, 0.0],
            ], dtype=float);
        faces = np.array([[0, 1, 2]], dtype=int);

        out_vertices, out_faces, info = collapse_short_edges_raw(
                vertices, faces, 0.1);

        numpy.testing.assert_array_equal(vertices, out_vertices);
        numpy.testing.assert_array_equal(faces, out_faces);
        self.assertEqual(0, info["num_edge_collapsed"]);
        self.assert_array_equal([0], info["source_face_index"]);
    def test_collapse_all_3D(self):
        vertices = np.array([
            [0.0, 0.0, 0.0],
            [1.0, 0.0, 0.0],
            [0.0, 1.0, 0.0],
            ], dtype=float);
        faces = np.array([[0, 1, 2]], dtype=int);

        out_vertices, out_faces, info = collapse_short_edges_raw(
                vertices, faces, 1.1);

        self.assertEqual(0, len(out_vertices));
        self.assertEqual(0, len(out_faces));
        self.assertEqual(1, info["num_edge_collapsed"]);
        self.assert_array_equal([], info["source_face_index"]);
Beispiel #3
0
    def test_simple_3D(self):
        vertices = np.array([
            [0.0, 0.0, 0.0],
            [1.0, 0.0, 0.0],
            [0.0, 1.0, 0.0],
        ],
                            dtype=float)
        faces = np.array([[0, 1, 2]], dtype=int)

        out_vertices, out_faces, info = collapse_short_edges_raw(
            vertices, faces, 0.1)

        numpy.testing.assert_array_equal(vertices, out_vertices)
        numpy.testing.assert_array_equal(faces, out_faces)
        self.assertEqual(0, info["num_edge_collapsed"])
        self.assert_array_equal([0], info["source_face_index"])
Beispiel #4
0
    def test_collapse_all_3D(self):
        vertices = np.array([
            [0.0, 0.0, 0.0],
            [1.0, 0.0, 0.0],
            [0.0, 1.0, 0.0],
        ],
                            dtype=float)
        faces = np.array([[0, 1, 2]], dtype=int)

        out_vertices, out_faces, info = collapse_short_edges_raw(
            vertices, faces, 1.1)

        self.assertEqual(0, len(out_vertices))
        self.assertEqual(0, len(out_faces))
        self.assertEqual(1, info["num_edge_collapsed"])
        self.assert_array_equal([], info["source_face_index"])
Beispiel #5
0
    def test_degenerated_triangles(self):
        vertices = np.array([
            [0.0, 0.0, 0.0],
            [1.0, 0.0, 0.0],
            [0.0, 1.0, 0.0],
            [-0.1, -0.1, -0.1],
        ],
                            dtype=float)
        faces = np.array(
            [[0, 1, 2], [0, 3, 1], [0, 2, 3], [0, 0, 1], [2, 3, 3]], dtype=int)

        out_vertices, out_faces, info = collapse_short_edges_raw(
            vertices, faces, 0.5)

        self.assertEqual(3, len(out_vertices))
        self.assertEqual(1, len(out_faces))
        self.assertEqual(1, info["num_edge_collapsed"])
        self.assert_array_equal([0], info["source_face_index"])
    def test_slim_triangles(self):
        vertices = np.array([
            [ 0.0, 0.0, 0.0],
            [ 1.0, 0.0, 0.0],
            [ 0.0, 1.0, 0.0],
            [-0.1,-0.1,-0.1],
            ], dtype=float);
        faces = np.array([
            [0, 1, 2],
            [0, 3, 1],
            [0, 2, 3],
            ], dtype=int);

        out_vertices, out_faces, info = collapse_short_edges_raw(
                vertices, faces, 0.5);

        self.assertEqual(3, len(out_vertices));
        self.assertEqual(1, len(out_faces));
        self.assertEqual(1, info["num_edge_collapsed"]);
        self.assert_array_equal([0], info["source_face_index"]);