diff --git a/Doc/changelog.docu b/Doc/changelog.docu
index 56c24883..9c615cf5 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 197420dd..baab7c60 100644
--- a/src/OpenMesh/Core/Mesh/TriConnectivity.hh
+++ b/src/OpenMesh/Core/Mesh/TriConnectivity.hh
@@ -162,27 +162,63 @@ 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
* 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 The properties of the new edges and faces will be adjusted to the
+ * properties of the original edge and face
+ * \note The properties of the new 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 and faces will be adjusted to the
+ * properties of the original edge and face
+ * \note The properties of the new 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 +226,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)
|