def test_properties_MultiPolyMesherIo(self):
        io = MultiPolyMesherIo(())
        self.assertIsInstance(io, MultiPolyMesherIo)

        io.check_topology = True
        self.assertEqual(True, io.check_topology)

        io.return_cell_polygons = False
        self.assertEqual(False, io.return_cell_polygons)

        points = ((1, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5))
        io.points = points
        self.assertArraysEqual(points, io.points)

        cells = (1, 5, 9, 13)
        io.cells = cells
        self.assertArraysEqual(cells, io.cells)

        cell_polygons = (2, 4)
        io.cell_polygons = cell_polygons
        self.assertArraysEqual(cell_polygons, io.cell_polygons)

        out_poly = ((0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0))
        pi1 = PolyInput(out_poly)
        pi1.bias = 2.718
        pi2 = PolyInput(out_poly)
        pi2.bias = 0.618
        io.poly_inputs = (pi1, pi2)
        self.assertTupleStringsEqual((pi1, pi2), io.poly_inputs)

        rp1 = RefinePoint((5, 0, -3), 3.1, False)
        rp2 = RefinePoint((-2, -2, 1), -0.4, True)
        io.refine_points = (rp1, rp2)
        self.assertTupleStringsEqual((rp1, rp2), io.refine_points)
Example #2
0
    def test_check_for_intersections_1(self):
        io = MultiPolyMesherIo(())
        io.check_topology = True

        poly_input = PolyInput(outside_polygon=((0, 0, 0), (100, 0, 0),
                                                (100, 10, 0), (0, -10, 0)))
        io.poly_inputs = (poly_input, )

        expected = \
            "---Error: Input polygon segments intersect. The segment defined by points 0 and 1 of outer " \
            "polygon 0 intersects with the segment defined by points 2 and 3 of outer polygon 0.\n" \
            "\n\n"

        (success, errors) = mesh_utils.generate_mesh(io)
        self.assertEqual(False, success)
        self.assertEqual(expected, errors)