<p>The cube-like mesh shown in the images is a non-manifold mesh. Officially half edge data structures do not support such a topology. However, this case can be supported by continuing the boundary half edges through the non-manifold node. This is apparently the way it is done in 3DS Max, and also Blender. You can look at <a href="https://kaba.hilvi.org/homepage/blog/halfedge/halfedge.htm" rel="nofollow noreferrer">this</a> article for several extension to the data structure to support non-manifold meshes.</p>

CC BY-SA 4.0
2021-03-22T19:00:12.677Z
2021-03-22T19:00:12.677Z
Reynolds
<p>I am trying to implement next/prev of edges in half-edge data structure. But I ran into this question. If there are two holes with a common vertex, will the closed loop of the edges run as in the first picture? Or will it be two separate cycles, as in the second picture?</p>
<p><a href="https://i.sstatic.net/mYM61.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/mYM61.png" alt="enter image description here" /></a></p>
<p>In 3ds Max, when the border tool is used, it selects the edge loop as in the first image. Please help me to understand this.</p>

<c++><edge-detection>
Half-Edge Data Structure with holes
JoungCPPser
# Half-Edge Data Structure with holes

(Asked by: username_0 on 2021-03-18)

I am trying to implement next/prev of edges in half-edge data structure. But I ran into this question. If there are two holes with a common vertex, will the closed loop of the edges run as in the first picture? Or will it be two separate cycles, as in the second picture?

[![enter image description here](https://i.sstatic.net/mYM61.png)](https://i.sstatic.net/mYM61.png)

In 3ds Max, when the border tool is used, it selects the edge loop as in the first image. Please help me to understand this.

**Tags:** c++, edge-detection


---

## 1 answers

### Answer by username_1 on 2021-03-22. Score: 1

The cube-like mesh shown in the images is a non-manifold mesh. Officially half edge data structures do not support such a topology. However, this case can be supported by continuing the boundary half edges through the non-manifold node. This is apparently the way it is done in 3DS Max, and also Blender. You can look at [this](https://kaba.hilvi.org/homepage/blog/halfedge/halfedge.htm) article for several extension to the data structure to support non-manifold meshes.


---

