sergio campo
sergio campo

Reputation: 276

Remove self-intersections in Meshlab or vcglib

How to remove self-intersection of a mesh with the Meshlab application or vcglib?

Upvotes: 3

Views: 6606

Answers (2)

ilke444
ilke444

Reputation: 2741

If you are looking for a trivial solution with Meshlab, you can do the following:

  1. Filters -> Cleaning and Repairing -> Select Self Intersecting Faces: You will see the self-intersections colored in red.

  2. Filters -> Selection -> Delete Selected Faces: The self-intersecting faces will be deleted.

  3. Edit -> Fill Hole: You need to go through the list of holes and click on select checkbox for all holes resulting from the deleted faces. If your mesh has lots of holes, this may be a cumbersome task. There is a good chance that the deleted faces may have left non-manifold holes, so you can use that to select which holes to fill.

Upvotes: 2

sloriot
sloriot

Reputation: 6253

This is out of the scope but there are some functions in CGAL. This is still experimental and not documented but you can use the function remove_self_intersections(). Depending on the type of self-intersections, you can also use the (also experimental) function autorefine_and_remove_self_intersections(). The first function is more likely to be used when you want to remove self-intersection due to loss of precision (doing somehow a local remeshing) while the second is to be used when you have strong self-intersections.

Upvotes: 2

Related Questions