Nothing
describe("make_surf_graph", {
it("builds a weighted igraph from a simple mesh", {
skip_if_not_installed("igraph")
vertices <- matrix(c(
0, 0, 0,
1, 0, 0,
0, 1, 0,
1, 1, 0
), ncol = 3, byrow = TRUE)
faces <- matrix(c(1, 2, 3, 2, 3, 4), ncol = 3, byrow = TRUE)
g <- make_surf_graph(vertices, faces)
expect_s3_class(g, "igraph")
expect_true(igraph::is_weighted(g))
expect_equal(igraph::vcount(g), 4)
})
it("errors for non-3-column vertices", {
expect_error(
make_surf_graph(matrix(1:4, ncol = 2), matrix(1:3, ncol = 3)),
"3 columns"
)
})
it("errors for non-3-column faces", {
expect_error(
make_surf_graph(matrix(1:6, ncol = 3), matrix(1:4, ncol = 2)),
"3 columns"
)
})
})
describe("get_surface_distance", {
it("returns full distance matrix by default", {
skip_if_not_installed("igraph")
vertices <- matrix(c(
0, 0, 0,
1, 0, 0,
0, 1, 0
), ncol = 3, byrow = TRUE)
faces <- matrix(c(1, 2, 3), ncol = 3)
dm <- get_surface_distance(vertices, faces)
expect_equal(nrow(dm), 3)
expect_equal(ncol(dm), 3)
expect_equal(dm[1, 1], 0)
expect_true(dm[1, 2] > 0)
})
it("returns subset when source_vertices given", {
skip_if_not_installed("igraph")
vertices <- matrix(c(
0, 0, 0,
1, 0, 0,
0, 1, 0
), ncol = 3, byrow = TRUE)
faces <- matrix(c(1, 2, 3), ncol = 3)
dm <- get_surface_distance(vertices, faces, source_vertices = 1L)
expect_equal(nrow(dm), 1)
expect_equal(ncol(dm), 3)
})
})
describe("compute_distance_matrix geodesic", {
it("dispatches to geodesic when method specified", {
skip_if_not_installed("igraph")
vertices <- matrix(c(
0, 0, 0,
1, 0, 0,
0, 1, 0
), ncol = 3, byrow = TRUE)
faces <- matrix(c(1, 2, 3), ncol = 3)
dm <- compute_distance_matrix(vertices, method = "geodesic", faces = faces)
expect_equal(nrow(dm), 3)
})
it("errors without faces for geodesic", {
vertices <- matrix(rnorm(9), ncol = 3)
expect_error(
compute_distance_matrix(vertices, method = "geodesic"),
"faces"
)
})
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.