Raw File
Tip revision: ce7b61f6469975795455bd85fcf23e23ff1ba102 authored by Jérémie Dumas on 17 January 2024, 15:28:36 UTC
Tip revision: ce7b61f
# Voroffset

[![Build Status](](

Discrete mesh offsetting based on half-space Voronoi diagrams and Power diagrams.

### Compilation

Dependencies are downloaded automatically by CMake at configuration time. To compile the code, just type:

mkdir build
cd build
cmake ..
cmake --build . -j8 --config Release

### Running the code

See possible options with:

./offset3d -h

Example usage:

./offset3d filigree.ply -n 512 -p 10 -r 5 -x dilation

##### offset2d

Takes a .svg file as input, and saves the result of the dilation as a quad-mesh (.obj).

##### offset3d

Takes a triangle mesh as input (.stl, .obj, .off), and saves the dilated output as a mesh (quad-mesh with .obj, hex-mesh with .mesh, etc.)

Usage: ./offset3d [OPTIONS] input [output]

  input TEXT                  Input model
  output TEXT=output.obj      Output model

  -h,--help                   Print this help message and exit
  -i,--input TEXT             Input model
  -o,--output TEXT=output.obj Output model
  -j,--json TEXT              Output json file
  -d,--dexels_size FLOAT=1    Size of a dexel (in mm)
  -n,--num_dexels INT=256     Number of dexels (-1 to use dexel size instead)
  -p,--padding INT            Padding (in #dexels)
  -t,--num_thread UINT=6      Number of threads
  -r,--radius FLOAT=8         Dilation/erosion radius (in #dexels)
  -m,--method TEXT in {brute_force,ours}
                              The method to use
  -x,--apply TEXT in {closing,dilation,erosion,noop,opening}=dilation
                              Morphological operation to apply
  -f,--force                  Overwrite output file
  -u,--radius_in_mm           Radius is given in mm instead

### Replicability

Head over to the [scripts/](scripts/) folder for further instructions.
back to top