diff --git a/src/geometry_primitives.jl b/src/geometry_primitives.jl index c004dba7..b4ab70d4 100644 --- a/src/geometry_primitives.jl +++ b/src/geometry_primitives.jl @@ -9,6 +9,13 @@ end ## # conversion & decompose convert_simplex(::Type{T}, x::T) where T = (x,) + +function convert_simplex(NFT::Type{NgonFace{N, T1}}, f::Union{NgonFace{N, T2}}) where {T1, T2, N} + return (convert(NFT, f),) +end + +convert_simplex(NFT::Type{NgonFace{3,T}}, f::NgonFace{3,T2}) where {T, T2} = (convert(NFT, f),) + """ convert_simplex(::Type{Face{3}}, f::Face{N}) diff --git a/test/runtests.jl b/test/runtests.jl index d46df950..6600d169 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -274,6 +274,12 @@ end @test meshuv isa GLUVMesh3D @test meshuvnormal isa GLNormalUVMesh3D + t = Tesselation(FRect2D(0, 0, 2, 2), (30, 30)) + m = GeometryBasics.mesh(t, pointtype=Point3f0, facetype=QuadFace{Int}) + m2 = GeometryBasics.mesh(m, facetype=QuadFace{GLIndex}) + @test GeometryBasics.faces(m2) isa Vector{QuadFace{GLIndex}} + @test GeometryBasics.coordinates(m2) isa Vector{Point3f0} + end @testset "Multi geometries" begin