Constructs a mesh of line segments corresponding to non-shared (i.e. boundary) edges of triangles or quads in the original mesh.

getBoundary3d(mesh, sorted = FALSE, simplify = TRUE)

Arguments

mesh

A mesh object.

sorted

Whether the result should have the segments sorted in sequential order.

simplify

Whether to simplify the resulting mesh, dropping all unused vertices. If FALSE, the vertices of the result will be identical to the vertices of mesh; if TRUE, they will likely be different, even if no vertices were dropped.

Value

A "mesh3d" object containing 0 or more segments.

Author

Duncan Murdoch

See also

Examples

x <- cube3d()
x$ib <- x$ib[,-(1:2)]
b <- getBoundary3d(x, sorted = TRUE)

open3d()
shade3d(x, alpha=0.2, col = "blue")

shade3d(b) 

# Show edge vertices in sequence:
text3d(t(b$vb), text = 1:ncol(b$vb), adj = 0)
c(b$is[1,1], b$is[2,]) #> [1] 2 4 6 5 3 1 2