man(7)

✨ cgalpoly ✨

man(7) β€” okay bestie, this is the cgalpoly man page, and it's literally the glow-up your 3D meshes have been waiting for πŸ’…


πŸŽ€ NAME πŸŽ€

cgalpoly β€” 3D mesh generation from polyhedral surfaces. That's it, that's the vibe. It takes a polyhedral surface and gives you a whole 3D mesh back, no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

cgalpoly input.off output.mesh <angle|30> <surf-size|6> <approx|4> <rad-
edge-ratio|3> <tetra-size|8> <randomseed|-1>

Yes the args are stacked like that, yes you can just leave the optional ones out and it'll use the defaults, we love a low-maintenance queen πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

The cgalpoly utility is a surface-mesh-to-tetrahedral-mesh converter, and it's built on the CGAL library (http://cgal.org). Obsessed. 😭

So here's the tea: this utility can read a surface model made of triangular patches and generate a tetrahedral mesh conforming to the surface. Like, it understands your little triangles and then fills the whole inside with tets. Iconic behavior, fr fr.

If you wanna know the details about the underlying algorithm, pls go look at https://doc.cgal.org/latest/Mesh_3/ β€” iykyk 🫢


πŸ’– OPTIONS πŸ’–

This program accepts the following input parameters, and bestie, read them carefully because each one is doing something real:

  • input.off|(required) β€” the input data file, in the OFF format. Required, so no skipping it, sorry bestie πŸ™ˆ
  • output.mesh|(required) β€” the output mesh file, in the MEDIT format. Also required. The mesh has to go somewhere πŸ’…
  • angle|(optional, default: 30) β€” lower-bound of the angles (in degree) in surface triangles. Keep it at 30 if you don't have opinions ⭐
  • surf-size|(optional, default: 6) β€” lower-bound of the edge-length (in voxel unit) in surface triangles. Default is 6 ✨
  • approx|(optional, default: 4) β€” upper-bound of the deviation distance (in voxel unit) of the surface triangles to the voxelated boundaries. Default is 4 🌸
  • rad-edge-ratio|(optional, default: 3) β€” upper-bound of the radius-to-edge ratio of the surface triangles. Default is 3 πŸŽ€
  • tetra-size|(optional, default: 8) β€” lower-bound of the tetrahedron volume (in voxel^3) of the 3D mesh. Default is 8 🧚
  • randomseed|(optional, default: -1) β€” random number generator seed (large positive integer, -1 to use system clock). So if you want reproducible runs, feed it a big positive integer; if you want chaos, leave it at -1 and let the system clock decide πŸ’€
Reminder bestie: input.off and output.mesh are required β€” everything after them is optional and has a default, so you're never truly stuck 🫢

🌈 SEE ALSO 🌈

Go give these other queens a visit, they're all in the same friend group:


πŸ‘‘ AUTHOR πŸ‘‘

Qianqian Fang (fangqq@gmail.com) β€” main character energy, wrote the whole thing πŸ’œ


Okay that's the whole page, bestie! πŸ₯³ This was cgalpoly man page, version 1.0, dated 30 June 2020, and yes it's filed under man(7). Slay, go mesh something. πŸ’–βœ¨πŸŽ€