Skip to content

Commit

Permalink
Improved tests for togeometrybasics_faces by adding mesh loading from…
Browse files Browse the repository at this point in the history
… file
  • Loading branch information
Kevin-Mattheus-Moerman committed Mar 15, 2024
1 parent 6f13391 commit ad4ce2b
Show file tree
Hide file tree
Showing 5 changed files with 173 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
assets/temp

# Ignore vscode settings folder
/.vscode
*.vscode

# Ignore .backup files
*.backup
Expand Down
10 changes: 5 additions & 5 deletions src/functions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -920,7 +920,7 @@ end

function togeometrybasics_points(VM::Matrix{Float64})
n = length(VM)
# Loop over vertex matrix and convert to GeometryBasics vector of Points
# Loop over vertices and convert to GeometryBasics vector of Points
V=Vector{GeometryBasics.Point{3, Float64}}(undef, n)
for q 1:n
V[q] = GeometryBasics.Point{3, Float64}(VM[q,:])
Expand All @@ -930,17 +930,17 @@ end

function togeometrybasics_points(VM::Vector{Vector{Int64}})
n = length(VM)
# Loop over vertex matrix and convert to GeometryBasics vector of Points
V=Vector{GeometryBasics.Point{3, Float64}}(undef, n)
# Loop over vertices and convert to GeometryBasics vector of Points
V = Vector{GeometryBasics.Point{3, Float64}}(undef, n)
for q 1:n
V[q] = GeometryBasics.Point{3, Float64}(VM[q])
end
return V
end

function togeometrybasics_mesh(VM,FM)
V=togeometrybasics_points(VM)
F=togeometrybasics_faces(FM)
V = togeometrybasics_points(VM)
F = togeometrybasics_faces(FM)
return GeometryBasics.Mesh(V,F)
end

Expand Down
153 changes: 153 additions & 0 deletions test/Manifest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# This file is machine-generated - editing it directly is not advised

julia_version = "1.10.2"
manifest_format = "2.0"
project_hash = "4a20489b5c2e767e6abf214dbc1b1bdf082fddde"

[[deps.ArgTools]]
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
version = "1.1.1"

[[deps.Artifacts]]
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

[[deps.Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

[[deps.Dates]]
deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"

[[deps.Downloads]]
deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
version = "1.6.0"

[[deps.FileIO]]
deps = ["Pkg", "Requires", "UUIDs"]
git-tree-sha1 = "c5c28c245101bd59154f649e19b038d15901b5dc"
uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
version = "1.16.2"

[[deps.FileWatching]]
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"

[[deps.InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"

[[deps.LibCURL]]
deps = ["LibCURL_jll", "MozillaCACerts_jll"]
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
version = "0.6.4"

[[deps.LibCURL_jll]]
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
version = "8.4.0+0"

[[deps.LibGit2]]
deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"

[[deps.LibGit2_jll]]
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"]
uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"
version = "1.6.4+0"

[[deps.LibSSH2_jll]]
deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
version = "1.11.0+1"

[[deps.Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[[deps.Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"

[[deps.Markdown]]
deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"

[[deps.MbedTLS_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
version = "2.28.2+1"

[[deps.MozillaCACerts_jll]]
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
version = "2023.1.10"

[[deps.NetworkOptions]]
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
version = "1.2.0"

[[deps.Pkg]]
deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
version = "1.10.0"

[[deps.Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"

[[deps.REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"

[[deps.Random]]
deps = ["SHA"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"

[[deps.Requires]]
deps = ["UUIDs"]
git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7"
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
version = "1.3.0"

[[deps.SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
version = "0.7.0"

[[deps.Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"

[[deps.Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"

[[deps.TOML]]
deps = ["Dates"]
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
version = "1.0.3"

[[deps.Tar]]
deps = ["ArgTools", "SHA"]
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
version = "1.10.0"

[[deps.Test]]
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[[deps.UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

[[deps.Unicode]]
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"

[[deps.Zlib_jll]]
deps = ["Libdl"]
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
version = "1.2.13+1"

[[deps.nghttp2_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
version = "1.52.0+1"

[[deps.p7zip_jll]]
deps = ["Artifacts", "Libdl"]
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
version = "17.4.0+2"
1 change: 1 addition & 0 deletions test/Project.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[deps]
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
17 changes: 13 additions & 4 deletions test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Test, Comodo, Comodo.GeometryBasics
using Test, FileIO, Comodo, Comodo.GeometryBasics

@testset "ind2sub" verbose = true begin
ind = [1,2,3,4,8,12,30]
Expand Down Expand Up @@ -102,18 +102,22 @@ end
end

@testset "togeometrybasics_faces" verbose = true begin
# Triangles
# Triangles matrix and vector
Ftm = [1 2 3; 4 5 6]
Ftv = [[1,2,3],[4,5,6]]

# Quads
# Quads matrix and vector
Fqm = [1 2 3 4; 5 6 7 8]
Fqv = [[1,2,3,4],[5,6,7,8]]

# Ngons (pentagons)
# Ngons (pentagons) matrix and vector
Fnm = [1 2 3 4 5; 6 7 8 9 10]
Fnv = [[1,2,3,4,5],[6,7,8,9,10]]

# Imported triangular mesh
fileName_mesh = joinpath(comododir(),"assets","stl","stanford_bunny_low.stl")
M = load(fileName_mesh)

@testset "Matrix input" begin
Ftm_G = togeometrybasics_faces([Ftm[1,:]])
@testset "1 TriangleFace" begin
Expand Down Expand Up @@ -156,6 +160,11 @@ end
@testset "NgonFace" begin
@test isa(Fnv_G,Vector{GeometryBasics.NgonFace{5,Int64}})
end

F = togeometrybasics_faces(faces(M))
@testset "Vector{NgonFace{3, OffsetInteger{-1, UInt32}}}" begin
@test isa(F,Vector{GeometryBasics.TriangleFace{Int64}})
end
end
end

Expand Down

0 comments on commit ad4ce2b

Please sign in to comment.