Jump to content
  • Advertisement
Sign in to follow this  
rajesh_nest

Non manifoldness in a mesh

This topic is 2614 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement
Topologically, I think all you need is the following:
- It's a manifold if every edge is shared by exactly two triangles
- It's a manifold-with-boundary if every edge is shared by either one or two triangles.

However, this doesn't deal with geometric issues, like self-intersection or t-junctions (so you don't know if the manifold is embedded in R[sup]3[/sup] or merely immersed).

Share this post


Link to post
Share on other sites

Topologically, I think all you need is the following:
- It's a manifold if every edge is shared by exactly two triangles
- It's a manifold-with-boundary if every edge is shared by either one or two triangles.

However, this doesn't deal with geometric issues, like self-intersection or t-junctions (so you don't know if the manifold is embedded in R[sup]3[/sup] or merely immersed).


So to determine the presence of non manifoldness, it is enough to check whether no of triangles shared are more than 2.
But how do I remove non-manifoldness. It is difficult to figure out, which among the two shared triangles are real ones.


However, this doesn't deal with geometric issues, like self-intersection or t-junctions (so you don't know if the manifold is embedded in R[sup]3[/sup] or merely immersed).



How to deal with self intersections and t junctions in the mesh?

Share this post


Link to post
Share on other sites
Easy, but possibly slow way to check for self-intersection

foreach (triangle A in mesh)
{
foreach (triangle B in mesh)
{
if tri_tri_intersect(A, B)) return true;
}
}
return false;


Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!