|
20 | 20 | p = Point2f[(0, 1), (1, 2), (3, 4), (4, 5)] |
21 | 21 | m = Mesh(p, f) |
22 | 22 | @test collect(m) == [Triangle(p[1], p[2], p[3]), GeometryBasics.Quadrilateral(p[1], p[2], p[3], p[4])] |
| 23 | + |
| 24 | + facedata = FaceView([:red, :blue], [TriangleFace(1), QuadFace(2)]) |
| 25 | + m2 = GeometryBasics.mesh(m, color = facedata) |
| 26 | + m3 = expand_faceviews(m2) |
| 27 | + @test faces(m3) == GLTriangleFace[(1,2,3), (4,5,6), (4,6,7)] |
| 28 | + @test coordinates(m3) == Point2f[[0.0, 1.0], [1.0, 2.0], [3.0, 4.0], [0.0, 1.0], [1.0, 2.0], [3.0, 4.0], [4.0, 5.0]] |
| 29 | + @test m3.color == [:red, :red, :red, :blue, :blue, :blue, :blue] |
| 30 | + |
| 31 | + @test per_face([:red, :blue], f) == facedata |
| 32 | + @test per_face([:red, :blue], m) == facedata |
| 33 | + @test per_face([:red, :blue, :blue], m2) == FaceView([:red, :blue, :blue], GLTriangleFace.(1:3)) |
| 34 | + @test per_face([:red, :blue, :blue], m3) == FaceView([:red, :blue, :blue], GLTriangleFace.(1:3)) |
23 | 35 | end |
24 | 36 |
|
25 | 37 | @testset "Ambiguous NgonFace constructors" begin |
|
49 | 61 | @test normals(m) == GeometryBasics.FaceView([Vec3f(0,0,1)], [QuadFace(1)]) |
50 | 62 | @test isempty(m.views) |
51 | 63 |
|
| 64 | + @test per_face([Vec3f(0,0,1)], m) == m.normal |
| 65 | + |
52 | 66 | @test faces(m2) == [QuadFace(1,2,3,4)] |
53 | 67 | @test coordinates(m2) == coordinates(m) |
54 | 68 | @test normals(m2) != normals(m) |
|
0 commit comments