tests/quadrilaterals.py

changeset 27
3089611c99d1
parent 26
7c263b864371
child 28
5933250813a3
equal deleted inserted replaced
26:7c263b864371 27:3089611c99d1
22 for quadrilateral in model.quadrilaterals: 22 for quadrilateral in model.quadrilaterals:
23 for triangles in split_quadrilateral(quadrilateral.geometry): 23 for triangles in split_quadrilateral(quadrilateral.geometry):
24 plane_1 = triangle_plane_normal(triangles[0]) 24 plane_1 = triangle_plane_normal(triangles[0])
25 plane_2 = triangle_plane_normal(triangles[1]) 25 plane_2 = triangle_plane_normal(triangles[1])
26 skew_angle = vector_angle(plane_1, plane_2, normalized = True) 26 skew_angle = vector_angle(plane_1, plane_2, normalized = True)
27 if skew_angle > radians(0.1): 27 if skew_angle > radians(3.0):
28 yield error(quadrilateral, 'skew-error', 28 yield error(quadrilateral, 'skew-error',
29 skew_angle = skew_angle,
30 )
31 break
32 elif skew_angle > radians(1.0):
33 yield warning(quadrilateral, 'skew-warning',
29 skew_angle = skew_angle, 34 skew_angle = skew_angle,
30 ) 35 )
31 break 36 break
32 37
33 manifest = { 38 manifest = {
38 'messages': { 43 'messages': {
39 'skew-error': lambda skew_angle: 44 'skew-error': lambda skew_angle:
40 str.format('skew quadrilateral (plane angle {})', 45 str.format('skew quadrilateral (plane angle {})',
41 degree_rep(skew_angle), 46 degree_rep(skew_angle),
42 ), 47 ),
48 'skew-warning': lambda skew_angle:
49 str.format('slightly skew quadrilateral (plane angle {})',
50 degree_rep(skew_angle),
51 ),
43 'concave-error': 'concave quadrilateral', 52 'concave-error': 'concave quadrilateral',
44 }, 53 },
45 } 54 }

mercurial