MeshesUnion: Meshes union

View source: R/operations.R

MeshesUnionR Documentation

Meshes union

Description

Computes the union of the given meshes.

Usage

MeshesUnion(meshes, clean = TRUE, normals = FALSE)

Arguments

meshes

a list of meshes, each being either a rgl mesh, or as a list with (at least) two fields: vertices and faces; the vertices matrix can be a numeric matrix or a matrix of bigq rational numbers (from the gmp package)

clean

Boolean, whether to clean the meshes (merging duplicated vertices, duplicated faces, removing isolated vertices); set to FALSE if you are sure your meshes are clean, to gain some speed

normals

Boolean, whether to return the per-vertex normals of the output mesh

Value

A triangle mesh given as a list with fields vertices, faces, edges, exteriorEdges, gmpvertices if using gmp meshes, and normals if normals=TRUE.

Examples

library(Boov)
library(rgl)

# mesh one: a cube
mesh1 <- cube3d() # (from the rgl package)

# mesh two: another cube
mesh2 <- translate3d( # (from the rgl package)
  cube3d(), 1, 1, 1
)

# compute the union
umesh <- MeshesUnion(list(mesh1, mesh2))

# plot
rglumesh <- toRGL(umesh)
open3d(windowRect = c(50, 50, 562, 562))
shade3d(rglumesh, color = "red")
plotEdges(
  vertices = umesh[["vertices"]], edges = umesh[["exteriorEdges"]],
  edgesAsTubes = TRUE, verticesAsSpheres = TRUE
)

Boov documentation built on Oct. 31, 2022, 5:05 p.m.