I'm implementing some mesh operations (e.g. edge collapse, edge split, edge flip etc) and need to ensure applying such operations does not cause the mesh to become non-manifold. However, I'm not sure how what things I should check for to ensure my geometry doesn't become non-manifold. Can someone tell me what those conditions/checks are? Also, how can I apply the same operation that causes the mesh to become non-manifold so that the manifoldness of the mesh is still preserved?

  • 1
    $\begingroup$ Checking for nonmanifoldness is 1) a edge can only have 2 inbound faces 2) winding direction of those faces are the same 3 ) all edges connecting a vertex must form a loop if they form 2 loops then its nonmanifold $\endgroup$
    – joojaa
    Feb 19, 2021 at 18:10
  • 1
    $\begingroup$ Being a manifold is a property of the mesh's topology. As such, operations like "vertex move" cannot affect that, since the position of a vertex is irrelevant to a mesh's topology. $\endgroup$ Feb 19, 2021 at 20:05
  • $\begingroup$ Are you sure you mean manifold? Or some other term to describe some other degenerate cases? When you say vertex move, you make me think self intersections and coplanar faces might be an issue for you. $\endgroup$ Feb 19, 2021 at 21:08
  • $\begingroup$ @AndrewWilson Yes I meant manifold. I misspoke by mentioning vertex move; will update my post now. $\endgroup$
    – Amir
    Feb 19, 2021 at 21:56
  • $\begingroup$ @joojaa How can I check the winding direction of the edges in a face? $\endgroup$
    – Amir
    Feb 25, 2021 at 17:34


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.