I am working with volumetric meshes - meshes that have vertices (0-cell), edges (1-cell), facets (2-cells) and volumes (3-cells) - and I'm interested in removing facets without breaking connectedness.
In other words, say my mesh has 1 connected component, and I don't want to remove a facet f
if the resulting mesh has 2 (or more) connected components.
A simple approach is to count the number of connected component with and without f
, with a breadth/depth-first search (wikipedia.org/wiki/Component_(graph_theory)). But I don't care how many components there are before or after facet removal, I just don't want this number to change. Any way of estimating the number of connected components looks like a waste of computation time.
My intuition is that a necessary (but not sufficient) condition for the removal of a facet f
to possibly "break" connectedness is that both sides of f
lie in the same volume, while the removal a facet f'
whose incident volumes are two different volumes cannot modify the connectedness of the mesh.
Am I wrong ?
Below is an illustration of a case where the removal of the facet in red would result in two connected components (the little cube inside the big cube). Note that there is no 2-border in this case.