diff --git a/Doc/changelog.docu b/Doc/changelog.docu
index 56c248835bd41d1a78cf1f7bd38358074bbb7788..9c615cf52cf823043a99f41e999f37c32dd24527 100644
--- a/Doc/changelog.docu
+++ b/Doc/changelog.docu
@@ -9,6 +9,11 @@
7.2 (?/?/?) |
+Core
+
+- TriConnectivity: Added two functions split_edge and split_edge_copy to mask the PolyConnectivity functions of the same name (Prevents creation of valence 2 vertices on trimeshes)
+
+
IO
- PLY Reader: Allowing the PLY reader to read custom face ( Thanks to morgan Leborgne for the patch)
diff --git a/src/OpenMesh/Core/Mesh/TriConnectivity.hh b/src/OpenMesh/Core/Mesh/TriConnectivity.hh
index 197420dd15cea3e1ddd8548ef823bb6b5746429b..25b665d97e9245c8519bb8fc43ce72cea83c8213 100644
--- a/src/OpenMesh/Core/Mesh/TriConnectivity.hh
+++ b/src/OpenMesh/Core/Mesh/TriConnectivity.hh
@@ -162,11 +162,28 @@ public:
*
* \note The properties of the new edges, halfedges, and faces will be undefined!
*
- * @param _eh Edge handle that should be splitted
+ * @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
void split(EdgeHandle _eh, VertexHandle _vh);
+ /** \brief Edge split (= 2-to-4 split)
+ *
+ *
+ * The function will introduce two new faces ( non-boundary case) or
+ * one additional face (if edge is boundary)
+ *
+ * \note The properties of the new edges, halfedges, and faces will be undefined!
+ *
+ * \note This is an override to prevent a direct call to PolyConnectivity split_edge,
+ * which would introduce a singular vertex with valence 2 which is not allowed
+ * on TriMeshes
+ *
+ * @param _eh Edge handle that should be split
+ * @param _vh Vertex handle that will be inserted at the edge
+ */
+ inline void split_edge(EdgeHandle _eh, VertexHandle _vh) { TriConnectivity::split(_eh, _vh); }
+
/** \brief Edge split (= 2-to-4 split)
*
* The function will introduce two new faces ( non-boundary case) or
@@ -175,14 +192,31 @@ public:
* \note The properties of the new edges will be adjusted to the properties of the original edge
* \note The properties of the new faces and halfedges will be undefined
*
- * @param _eh Edge handle that should be splitted
+ * @param _eh Edge handle that should be split
* @param _vh Vertex handle that will be inserted at the edge
*/
void split_copy(EdgeHandle _eh, VertexHandle _vh);
+ /** \brief Edge split (= 2-to-4 split)
+ *
+ * The function will introduce two new faces ( non-boundary case) or
+ * one additional face (if edge is boundary)
+ *
+ * \note The properties of the new edges will be adjusted to the properties of the original edge
+ * \note The properties of the new faces and halfedges will be undefined
+ *
+ * \note This is an override to prevent a direct call to PolyConnectivity split_edge_copy,
+ * which would introduce a singular vertex with valence 2 which is not allowed
+ * on TriMeshes
+ *
+ * @param _eh Edge handle that should be split
+ * @param _vh Vertex handle that will be inserted at the edge
+ */
+ inline void split_edge_copy(EdgeHandle _eh, VertexHandle _vh) { TriConnectivity::split_copy(_eh, _vh); }
+
/** \brief Face split (= 1-to-3) split, calls corresponding PolyMeshT function).
*
- * @param _fh Face handle that should be splitted
+ * @param _fh Face handle that should be split
* @param _vh Vertex handle that will be inserted at the face
*/
inline void split(FaceHandle _fh, VertexHandle _vh)
@@ -190,7 +224,7 @@ public:
/** \brief Face split (= 1-to-3) split, calls corresponding PolyMeshT function).
*
- * @param _fh Face handle that should be splitted
+ * @param _fh Face handle that should be split
* @param _vh Vertex handle that will be inserted at the face
*/
inline void split_copy(FaceHandle _fh, VertexHandle _vh)
|