1
+ import pytest
2
+ from mathutils import Vector
3
+ from bpypolyskel import bpypolyskel
4
+
5
+
6
+ verts = [
7
+ Vector ((1.207115650177002 , - 0.5120695233345032 , 0.0 )),
8
+ Vector ((2.1281516551971436 , 0.02226433902978897 , 0.0 )),
9
+ Vector ((3.558548927307129 , - 0.545464277267456 , 0.0 )),
10
+ Vector ((3.279447555541992 , - 1.2913050651550293 , 0.0 )),
11
+ Vector ((12.936384201049805 , - 5.187471866607666 , 0.0 )),
12
+ Vector ((13.055001258850098 , - 4.820117473602295 , 0.0 )),
13
+ Vector ((16.201881408691406 , - 6.133678436279297 , 0.0 )),
14
+ Vector ((18.183490753173828 , - 1.302405834197998 , 0.0 )),
15
+ Vector ((18.748672485351562 , - 1.4916468858718872 , 0.0 )),
16
+ Vector ((19.983686447143555 , 1.4917200803756714 , 0.0 )),
17
+ Vector ((19.390594482421875 , 1.714356780052185 , 0.0 )),
18
+ Vector ((21.44894790649414 , 6.979776859283447 , 0.0 )),
19
+ Vector ((19.33475112915039 , 7.803532600402832 , 0.0 )),
20
+ Vector ((18.818408966064453 , 9.061441421508789 , 0.0 )),
21
+ Vector ((17.499656677246094 , 8.53823471069336 , 0.0 )),
22
+ Vector ((14.54815673828125 , 9.695948600769043 , 0.0 )),
23
+ Vector ((14.708638191223145 , 10.274809837341309 , 0.0 )),
24
+ Vector ((12.475826263427734 , 11.165360450744629 , 0.0 )),
25
+ Vector ((12.266501426696777 , 10.575366020202637 , 0.0 )),
26
+ Vector ((9.601081848144531 , 11.644027709960938 , 0.0 )),
27
+ Vector ((9.126607894897461 , 12.913068771362305 , 0.0 )),
28
+ Vector ((7.793900489807129 , 12.36760139465332 , 0.0 )),
29
+ Vector ((5.065685272216797 , 13.458528518676758 , 0.0 )),
30
+ Vector ((0.0 , 0.0 , 0.0 )),
31
+ Vector ((1.207115650177002 , - 0.5120695233345032 , 9.015742301940918 )),
32
+ Vector ((2.1281516551971436 , 0.02226433902978897 , 9.015742301940918 )),
33
+ Vector ((3.558548927307129 , - 0.545464277267456 , 9.015742301940918 )),
34
+ Vector ((3.279447555541992 , - 1.2913050651550293 , 9.015742301940918 )),
35
+ Vector ((12.936384201049805 , - 5.187471866607666 , 9.015742301940918 )),
36
+ Vector ((13.055001258850098 , - 4.820117473602295 , 9.015742301940918 )),
37
+ Vector ((16.201881408691406 , - 6.133678436279297 , 9.015742301940918 )),
38
+ Vector ((18.183490753173828 , - 1.302405834197998 , 9.015742301940918 )),
39
+ Vector ((18.748672485351562 , - 1.4916468858718872 , 9.015742301940918 )),
40
+ Vector ((19.983686447143555 , 1.4917200803756714 , 9.015742301940918 )),
41
+ Vector ((19.390594482421875 , 1.714356780052185 , 9.015742301940918 )),
42
+ Vector ((21.44894790649414 , 6.979776859283447 , 9.015742301940918 )),
43
+ Vector ((19.33475112915039 , 7.803532600402832 , 9.015742301940918 )),
44
+ Vector ((18.818408966064453 , 9.061441421508789 , 9.015742301940918 )),
45
+ Vector ((17.499656677246094 , 8.53823471069336 , 9.015742301940918 )),
46
+ Vector ((14.54815673828125 , 9.695948600769043 , 9.015742301940918 )),
47
+ Vector ((14.708638191223145 , 10.274809837341309 , 9.015742301940918 )),
48
+ Vector ((12.475826263427734 , 11.165360450744629 , 9.015742301940918 )),
49
+ Vector ((12.266501426696777 , 10.575366020202637 , 9.015742301940918 )),
50
+ Vector ((9.601081848144531 , 11.644027709960938 , 9.015742301940918 )),
51
+ Vector ((9.126607894897461 , 12.913068771362305 , 9.015742301940918 )),
52
+ Vector ((7.793900489807129 , 12.36760139465332 , 9.015742301940918 )),
53
+ Vector ((5.065685272216797 , 13.458528518676758 , 9.015742301940918 )),
54
+ Vector ((0.0 , 0.0 , 9.015742301940918 ))
55
+ ]
56
+ unitVectors = [
57
+ Vector ((0.8649770021438599 , 0.5018115639686584 , 0.0 )),
58
+ Vector ((0.9294660687446594 , - 0.3689076602458954 , 0.0 )),
59
+ Vector ((- 0.350475013256073 , - 0.9365720748901367 , 0.0 )),
60
+ Vector ((0.9273667931556702 , - 0.37415340542793274 , 0.0 )),
61
+ Vector ((0.30727407336235046 , 0.9516209959983826 , 0.0 )),
62
+ Vector ((0.9228309392929077 , - 0.3852052390575409 , 0.0 )),
63
+ Vector ((0.3794823884963989 , 0.9251989722251892 , 0.0 )),
64
+ Vector ((0.9482560157775879 , - 0.31750667095184326 , 0.0 )),
65
+ Vector ((0.38248857855796814 , 0.923960268497467 , 0.0 )),
66
+ Vector ((- 0.9362112283706665 , 0.35143786668777466 , 0.0 )),
67
+ Vector ((0.3640882074832916 , 0.9313645362854004 , 0.0 )),
68
+ Vector ((- 0.9317710399627686 , 0.3630464971065521 , 0.0 )),
69
+ Vector ((- 0.3797307312488556 , 0.9250970482826233 , 0.0 )),
70
+ Vector ((- 0.9295167326927185 , - 0.3687799572944641 , 0.0 )),
71
+ Vector ((- 0.9309450387954712 , 0.36515942215919495 , 0.0 )),
72
+ Vector ((0.2671595513820648 , 0.9636522531509399 , 0.0 )),
73
+ Vector ((- 0.9288454651832581 , 0.37046733498573303 , 0.0 )),
74
+ Vector ((- 0.33437010645866394 , - 0.9424418807029724 , 0.0 )),
75
+ Vector ((- 0.9281769394874573 , 0.37213921546936035 , 0.0 )),
76
+ Vector ((- 0.3502067029476166 , 0.9366724491119385 , 0.0 )),
77
+ Vector ((- 0.9254814386367798 , - 0.37879276275634766 , 0.0 )),
78
+ Vector ((- 0.9285188913345337 , 0.3712853789329529 , 0.0 )),
79
+ Vector ((- 0.35226550698280334 , - 0.935900092124939 , 0.0 )),
80
+ Vector ((0.9205927848815918 , - 0.39052391052246094 , 0.0 ))
81
+ ]
82
+ holesInfo = None
83
+ firstVertIndex = 24
84
+ numPolygonVerts = 24
85
+
86
+
87
+ faces = bpypolyskel .polygonize (verts , firstVertIndex , numPolygonVerts , holesInfo , 0.0 , 0.5 , None , unitVectors )
88
+
89
+
90
+ for face in faces :
91
+ assert len (face ) >= 3
92
+
93
+
94
+ for face in faces :
95
+ assert len (face ) == len (set (face ))
0 commit comments