diff --git a/src/meshes.jl b/src/meshes.jl index 28a8d005..6ce7b309 100644 --- a/src/meshes.jl +++ b/src/meshes.jl @@ -390,6 +390,8 @@ function expand_faceviews(mesh::Mesh) end end +expand_faceviews(m::MetaMesh) = MetaMesh(expand_faceviews(Mesh(m)), meta(m)) + function merge_vertex_indices( faces::NTuple{N_Attrib, <: AbstractVector{FT}}, vertex_index_counter::Integer = T(1) diff --git a/test/meshes.jl b/test/meshes.jl index e6c0b0e8..92d396ad 100644 --- a/test/meshes.jl +++ b/test/meshes.jl @@ -54,6 +54,11 @@ end @test normals(m2) != normals(m) @test normals(m2) == [only(values(normals(m))) for _ in 1:4] @test isempty(m2.views) + + mm = MetaMesh(m, Dict(:test => 1, :a => "a")) + mm2 = GeometryBasics.expand_faceviews(mm) + @test mm2.meta == mm.meta + @test Mesh(mm2) == m2 end @testset "Duplicate face removal" begin