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.

## 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
```