Skip to content

Some libs for computing medial axis, 3D Volumetric RPD, and others ...

License

Notifications You must be signed in to change notification settings

ningnawang/libmat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibMAT

Some commonly used libraries for computing the 3D medial axis transform (MAT) given a 3D triangle mesh (or tetrahedral mesh).

Starter code is from the paper "MATFP: Computing Medial Axis Transform with Feature Preservation via Restricted Power Diagram".

The extended work "MATTopo: Topology-preserving Medial Axis Transform with Restricted Power Diagram" heavily replies on this repo using tag v0.0.1.

Attribution

If you use our library in your research paper, please cite us! You can use the bibtex block below:

@misc{libmat,
  title = {{LibMAT}: A C++ Library for Medial Axis Transform},
  author = {Ningna Wang},
  howpublished = "\url{https://github.com/ningnawang/libmat}",
  year = {2024}
}

1. Lib using GPU (set option LIBMAT_IS_USE_GPU as ON)

1.1. dist2mat

Given a 3D sample, compute its closest medial element (sphere/cone/slab) on the given medial mesh.

1.2. rpd3d & rpd3d_api

Libs and APIs for computing 3D RPD using CUDA.

1.3. matfun_fix

  • fix_common
  • fix_topo
  • fix_extf
  • fix_intf
  • fix_geo

1.4. IO_CUDA

Some IO related libs related to CUDA 3D RPD output.

2. Lib NOT using GPU (set option LIBMAT_IS_USE_GPU as OFF)

2.1. inputs

  • SurfaceMesh (extends GEO::Mesh)
  • TetMesh
  • AABBWrapper
  • Sharp/Concave Feature Detection

2.2. matbase

  • medial_sphere
  • medial_primitives
  • medial_mesh

2.4. matfun

  • shrinking
  • updating (sphere-optimization)
  • thinning

2.3. IO_CXX

Some IO related libs.

2.5. rpd3d_base

  • 3D triangulation using CGAL
  • ConvexCellHost

TODO list:

  1. Update CMakeLists.txt to remove some unused external dependencies, such as polyscope.
  2. Enable platform check.
  3. Add more tests.
  4. Write more docs.

About

Some libs for computing medial axis, 3D Volumetric RPD, and others ...

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published