split_edge Creates Non-Triangular Faces on TriMeshes
PolyConnectivity
implements the two methods split_edge(EdgeHandle, VertexHandle)
and split_edge_copy(EdgeHandle, VertexHandle)
which split an edge without splitting the incident faces, thus increasing the valence of the incident faces by one.
TriConnectivity
implements the two similar methods split(EdgeHandle, VertexHandle)
and split_copy(EdgeHandle, VertexHandle)
which do split the incident faces, thus performing a 2 to 4 split (or 1 to 2 split on boundaries) as expected.
Since TriConnectivity
publicly inherits from PolyConnectivity
, split_edge
can be called on a TriConnectivity
resulting in non-triangular faces.
Should we add split_edge
and split_edge_copy
methods to TriConnectivity
which call split
and split_edge
to prevent this?