File: test_232c_acis_surface.py

package info (click to toggle)
ezdxf 1.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 104,528 kB
  • sloc: python: 182,341; makefile: 116; lisp: 20; ansic: 4
file content (64 lines) | stat: -rw-r--r-- 1,790 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright (c) 2018-2024 Manfred Moitzi
# License: MIT License
import ezdxf
from ezdxf.math import Matrix44
import pytest

IDENTITY_MATRIX = list(list(Matrix44()))

MATRIX_CHECK = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]


@pytest.fixture(scope="module")
def msp():
    doc = ezdxf.new("R2007")
    return doc.modelspace()


def test_surface(msp):
    surface = msp.add_surface()
    assert surface.dxftype() == "SURFACE"
    # ACIS data is tested in test_body()
    assert len(surface.sat) == 0


def test_extruded_surface(msp):
    surface = msp.add_extruded_surface()
    assert surface.dxftype() == "EXTRUDEDSURFACE"
    assert len(surface.sat) == 0

    matrix = surface.transformation_matrix_extruded_entity
    assert list(matrix) == IDENTITY_MATRIX

    matrix = surface.sweep_entity_transformation_matrix
    assert list(matrix) == IDENTITY_MATRIX

    matrix = surface.path_entity_transformation_matrix
    assert list(matrix) == IDENTITY_MATRIX

    surface.transformation_matrix_extruded_entity = Matrix44(MATRIX_CHECK)
    assert list(surface.transformation_matrix_extruded_entity) == MATRIX_CHECK


def test_lofted_surface(msp):
    surface = msp.add_lofted_surface()
    assert surface.dxftype() == "LOFTEDSURFACE"
    assert len(surface.sat) == 0

    matrix = surface.transformation_matrix_lofted_entity
    assert list(matrix) == IDENTITY_MATRIX


def test_swept_surface(msp):
    surface = msp.add_swept_surface()
    assert surface.dxftype() == "SWEPTSURFACE"
    assert len(surface.sat) == 0


def test_revolved_surface(msp):
    surface = msp.add_revolved_surface()
    assert surface.dxftype() == "REVOLVEDSURFACE"
    assert len(surface.sat) == 0

    matrix = surface.transformation_matrix_revolved_entity
    assert list(matrix) == IDENTITY_MATRIX