R6 Based Utilities for 3D Meshes using 'CGAL'

Provides some utilities for 3D meshes: clipping of a mesh to the volume bounded by another mesh, decomposition into convex parts, distance between a mesh and a point, Hausdorff distance between two meshes, triangulation, geodesic distance, Boolean operations (intersection, union, difference), Minkowski sum, subdivision algorithms, random sampling on a mesh, volume, area, and centroid. Also provides two algorithms for surface reconstruction from a cloud of points. Meshes are represented by R6 classes. All algorithms are performed by the 'C++' library 'CGAL' (< https://www.cgal.org/>).


cgalMeshes

R6 based utilities for 3D meshes.

R-CMD-check R-CMD-check-valgrind

Geodesic distance

Clipping

Fairing

Decomposition into convex parts

Convex hull

Subdivision methods

Hole filling

Boolean operations

Intersection

Difference

Union

Advanced front surface reconstruction

Stanford bunny:

Stanford dragon:

Dummy head:

Skull:

Minkowski addition

Octahedron + sphere:

Tetrahedron + truncated icosahedron:

Septuaginta + great stellated dodecahedron:

Stanford bunny + sphere:

Other tools

Volume, area, centroid, distance between a point and a mesh, connected components, Haussdorf distance, random sampling on the surface of a mesh.

More features

There are more features in the github branch, to install with:

remotes::install_github("stla/cgalMeshes@github", dependencies = TRUE, build_vignettes = TRUE)

Poisson reconstruction

Spider cage:

Here is a series of three images which show the effect of this spacing parameter (0.05, 0.02, 0.005):

Stanford bunny:

Stanford dragon:

Shape smoothing

Hopf torus:

Stanford bunny:

Surface mesh parameterization

Blog posts

License

This package is provided under the GPL-3 license but it uses the C++ library CGAL. If you wish to use CGAL for commercial purposes, you must obtain a license from the GeometryFactory.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("cgalMeshes")

2.2.0 by Stéphane Laurent, 3 years ago


https://github.com/stla/cgalMeshes


Report a bug at https://github.com/stla/cgalMeshes/issues


Browse source code at https://github.com/cran/cgalMeshes


Authors: Stéphane Laurent [aut, cre]


Documentation:   PDF Manual  


GPL-3 license


Imports data.table, grDevices, methods, onion, R6, Rcpp, rgl, tools

Suggests dfdr, colorspace, randomcoloR, rmarchingcubes, spray, viridisLite

Linking to BH, Rcpp, RcppCGAL, RcppColors, RcppEigen

System requirements: C++ 17, gmp, mpfr


See at CRAN