Skip to content

Latest commit

 

History

History
102 lines (67 loc) · 5.93 KB

generate_report.README.md

File metadata and controls

102 lines (67 loc) · 5.93 KB

Validity-first automatic polycube labeling for CAD models - supplemental material

This folder contains the inputs & outputs of our algorithm, on the MAMBO and OctreeMeshing datasets, as well as results of PolyCut1 and Evocube2.

Open the interactive document

Our supplemental material do not require an internet connection. Rendering code is inside the js/ subfolder and 3D models inside glb/.

By default, internet navigators do not allow both HTTP access and file:/// access (CORS error). If you directly open index.html with your internet navigator, the 3D models will not be rendered.

Recommended: Launch a HTTP server with Python

python -m http.server

Then open the printed address (usually http://0.0.0.0:8000/) with your internet navigator. Python will serve index.html locally and provide access to the 3D models through HTTP.

Other means to launch a HTTP server

  • with the miniserve binary: miniserve .
  • with PHP: php -S localhost:8080 -t .
  • with the http-server Node.js package: http-server .
  • with Ruby and WEBrick: ruby -run -ehttpd .

Other method: Temporarily change the CORS policy of your internet navigator

  • with Firefox: open about:config and change the value of security.fileuri.strict_origin_policy from true to false, then open index.html
  • with Chrome: execute google-chrome index.html --allow-file-access-from-files

Sankey diagram

Above the interactive grid, there is a collapsed section hiding a Sankey diagram, which gives high level stats on our method only. You can adjust the vertical position of the nodes, and hovering them gives the number of items.

Column filters

To see only labelings generated by our method : hamburger button of the "method" column → select Equals "Ours" (Set Filters are not available in the community edition of the library).

To see only invalid labelings : hamburger button of the "valid" column → choose "False".

To see only failed labeling generations : e.g. hamburger button of the "#charts" column → choose "Blank". To reset, choose "Equals" and leave the field empty.

Column sort

You can click on the name of a column to switch between ascending, descending and default order.

Columns description

  • CAD model : name of the 3D model. Bx, Sx and Mx models are from the MAMBO dataset, the others from OctreeMeshing
  • method : if the polycube labeling was generated using a graph-cut optimization (our initial labeling), PolyCut1, Evocube2 or our method

"surface mesh" group

  • #vertices : number of vertices in the triangle mesh
  • #facets : number of facets in the triangle mesh
  • sd(area) : standard deviation of the facets area

"labeling" group

  • #charts : number of charts
  • #boundaries : number of boundaries
  • #corners : number of corners
  • #invalid-charts : number of invalid charts
  • #invalid-boundaries : number of invalid boundaries
  • #invalid-corners : number of invalid corners
  • min(fidelity) : minimal (worse) per-triangle fidelity (closeness between the facet normal and the assigned direction). In [0,1]
  • avg(fidelity) : average per-triangle fidelity, in [0,1]
  • valid : if the labeling corresponds to a polycube topology or not
  • #turning-points : number of turning-points (high turns along boundaries)
  • similarity: percentage of facets having the same label, compared to our method
  • duration : duration of the labeling stage with file I/O, in seconds. For our method, the generation of the initial labeling with graph-cut is taken into account
  • relative duration : duration divided by the duration of our method
  • open : open the 3D viewer. After 5s, the 3D model switches between the labeled mesh and a fast polycube estimation. If no labeling was generated, the triangle mesh is displayed instead. Note that we do not provide 3D views for the initial labeling (graph-cut outputs) to reduce total size. Screen Space Ambient Occlusion (SSAO) is on by default.

"feature edges" group

  • ignored : percentage of CAD lines not considered feature edges because of their low dihedral angle
  • sharp & lost : percentage of lost feature edges because the same direction (label) is assigned on the 2 adjacent facets
  • sharp & preserved : percentage of preserved feature edge (between 2 different labels)

"hex-mesh" group

  • min(SJ) : minimal (worse) per-hexahedron scaled jacobian
  • avg(SJ) : average per-hexahedron scaled jacobian
  • open : open the 3D viewer. Screen Space Ambient Occlusion (SSAO) is off by default.

Acknowledgment

The authors would like to thank contributors to the AG Grid, d3-sankey, model-viewer and tinygltf libraries, as well as Khronos Group for the standardization of the glTF file format.

Like our algorithm, data processing and the report generation will be made open-source.


Footnotes

  1. M. Livesu, N. Vining, A. Sheffer, J. Gregson and R. Scateni, « PolyCut: Monotone Graph-Cuts for PolyCube Base-Complex Construction », in Proceedings of SIGGRAPH Asia, ACM, 2013. doi:10.1145/2508363.2508388 2

  2. C. Dumery, F. Protais, S. Mestrallet, C. Bourcier and F. Ledoux, « Evocube: a Genetic Labeling Framework for Polycube-Maps », vol. 41, nᵒ 6, p. 467‑479, 2022, doi: 10.1111/cgf.14649 2