Ejemplo n.º 1
0
    def test_transform(self):
        point = Vec3(2, 3, 0)
        marker_value = 777
        m = matrix(rotate=30, tx=7, ty=9)
        point_transformed = m.transform(point)

        line = LeaderLine()
        line.vertices.append(point)
        line.breaks.append(point)
        line.index = marker_value
        line.color = marker_value
        line.transform(WCSTransform(m))

        assert line.vertices[0].isclose(point_transformed)
        assert line.breaks[0].isclose(point_transformed)
        assert line.index == marker_value
        assert line.color == marker_value
Ejemplo n.º 2
0
    def test_transform_context(self):
        point = Vec3(2, 3, 0)
        marker_value = 777
        lenght = 1.0
        scale = 3.0
        m = matrix(scale=scale, rotate=30, tx=7, ty=9)
        point_transformed = m.transform(point)

        ctx = MLeaderContext()
        ctx.base_point = point
        ctx.char_height = lenght
        ctx.arrow_head_size = lenght
        ctx.landing_gap_size = lenght
        ctx.left_attachment = marker_value
        ctx.right_attachment = marker_value
        ctx.top_attachment = marker_value
        ctx.bottom_attachment = marker_value
        ctx.text_align_type = marker_value
        ctx.attachment_type = marker_value

        ctx.transform(WCSTransform(m))
        assert ctx.scale == pytest.approx(scale)
        assert ctx.base_point.isclose(point_transformed)
        assert ctx.char_height == pytest.approx(scale * lenght)
        assert ctx.arrow_head_size == pytest.approx(scale * lenght)
        assert ctx.landing_gap_size == pytest.approx(scale * lenght)
        assert ctx.left_attachment == marker_value
        assert ctx.right_attachment == marker_value
        assert ctx.top_attachment == marker_value
        assert ctx.bottom_attachment == marker_value
        assert ctx.text_align_type == marker_value
        assert ctx.attachment_type == marker_value
        assert ctx.plane_origin.isclose(m.transform((0, 0, 0)))
        assert ctx.plane_x_axis.isclose(
            m.transform_direction((1, 0, 0)).normalize())
        assert ctx.plane_y_axis.isclose(
            m.transform_direction((0, 1, 0)).normalize())
        assert ctx.plane_normal_reversed == 0
Ejemplo n.º 3
0
    def test_transform(self):
        point = Vec3(2, 3, 0)
        marker_value = 777
        dogleg_length = 1.0
        m = matrix(rotate=30, tx=7, ty=9)
        point_transformed = m.transform(point)
        direction_transformed = m.transform_direction(point)

        leader = LeaderData()
        leader.last_leader_point = point
        leader.dogleg_vector = point
        leader.dogleg_length = dogleg_length
        leader.breaks.append(point)
        leader.has_last_leader_line = marker_value
        leader.has_dogleg_vector = marker_value

        leader.transform(WCSTransform(m))
        assert leader.last_leader_point.isclose(point_transformed)
        assert leader.dogleg_vector.isclose(direction_transformed.normalize())
        assert leader.dogleg_length == pytest.approx(dogleg_length)
        assert leader.breaks[0].isclose(point_transformed)
        assert leader.has_last_leader_line == marker_value
        assert leader.has_dogleg_vector == marker_value
Ejemplo n.º 4
0
 def test_transform_block_data_xy_reflection(self):
     block = BlockData()
     block.transform(WCSTransform(Matrix44.scale(-1, -1, 1)))
     assert block.extrusion.isclose(Z_AXIS)
     assert block.scale.isclose((1, 1, 1))  # ???
Ejemplo n.º 5
0
 def test_transform_context_reversed_extrusion(self):
     ctx = MLeaderContext()
     ctx.transform(WCSTransform(Matrix44.scale(-1, 1, 1)))
     assert ctx.plane_normal_reversed == 1