Commit c43e81f7 authored by Jan Möbius's avatar Jan Möbius
Browse files

Updated documentation for the vertex_split operation

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@688 fdac6126-5c0c-442c-9429-916003d36597
parent 0f328219
...@@ -167,28 +167,100 @@ public: ...@@ -167,28 +167,100 @@ public:
//--- halfedge collapse / vertex split --- //--- halfedge collapse / vertex split ---
/// Vertex Split: inverse operation to collapse(). /** \brief Vertex Split: inverse operation to collapse().
*
* Insert the new vertex at position v0. The vertex will be added
* as the inverse of the vertex split. The faces above the split
* will be correctly attached to the two new edges
*
* Before:
* v_l v0 v_r
* x x x
* \ /
* \ /
* \ /
* \ /
* \ /
* \ /
* x
* v1
*
* After:
* v_l v0 v_r
* x------x------x
* \ | /
* \ | /
* \ | /
* \ | /
* \ | /
* \|/
* x
* v1
*
* @param _v0_point Point position for the new point
* @param _v1 Vertex that will be split
* @param _vl Left vertex handle
* @param _vr Right vertex handle
* @return Newly inserted halfedge
*/
inline HalfedgeHandle vertex_split(Point _v0_point, VertexHandle _v1, inline HalfedgeHandle vertex_split(Point _v0_point, VertexHandle _v1,
VertexHandle _vl, VertexHandle _vr) VertexHandle _vl, VertexHandle _vr)
{ return PolyMesh::vertex_split(add_vertex(_v0_point), _v1, _vl, _vr); } { return PolyMesh::vertex_split(add_vertex(_v0_point), _v1, _vl, _vr); }
/** \brief Vertex Split: inverse operation to collapse().
*
* Insert the new vertex at position v0. The vertex will be added
* as the inverse of the vertex split. The faces above the split
* will be correctly attached to the two new edges
*
* Before:
* v_l v0 v_r
* x x x
* \ /
* \ /
* \ /
* \ /
* \ /
* \ /
* x
* v1
*
* After:
* v_l v0 v_r
* x------x------x
* \ | /
* \ | /
* \ | /
* \ | /
* \ | /
* \|/
* x
* v1
*
* @param _v0 Vertex handle for the newly inserted point (Input has to be unconnected!)
* @param _v1 Vertex that will be split
* @param _vl Left vertex handle
* @param _vr Right vertex handle
* @return Newly inserted halfedge
*/
inline HalfedgeHandle vertex_split(VertexHandle _v0, VertexHandle _v1, inline HalfedgeHandle vertex_split(VertexHandle _v0, VertexHandle _v1,
VertexHandle _vl, VertexHandle _vr) VertexHandle _vl, VertexHandle _vr)
{ return PolyMesh::vertex_split(_v0, _v1, _vl, _vr); } { return PolyMesh::vertex_split(_v0, _v1, _vl, _vr); }
/// Edge split (= 2-to-4 split)
/// Do not call PolyMeshT function below as this does the wrong operation
/** \brief Edge split (= 2-to-4 split) /** \brief Edge split (= 2-to-4 split)
* *
* The properties of the new edges will be undefined! * The properties of the new edges will be undefined!
* *
*
* @param _eh Edge handle that should be splitted * @param _eh Edge handle that should be splitted
* @param _p New point position that will be inserted at the edge * @param _p New point position that will be inserted at the edge
* @return Vertex handle of the newly added vertex * @return Vertex handle of the newly added vertex
*/ */
inline VertexHandle split(EdgeHandle _eh, const Point& _p) inline VertexHandle split(EdgeHandle _eh, const Point& _p)
{ const VertexHandle vh = this->add_vertex(_p); Kernel::split(_eh, vh); return vh; } {
//Do not call PolyMeshT function below as this does the wrong operation
const VertexHandle vh = this->add_vertex(_p); Kernel::split(_eh, vh); return vh;
}
/** \brief Edge split (= 2-to-4 split) /** \brief Edge split (= 2-to-4 split)
* *
...@@ -199,7 +271,10 @@ public: ...@@ -199,7 +271,10 @@ public:
* @return Vertex handle of the newly added vertex * @return Vertex handle of the newly added vertex
*/ */
inline VertexHandle split_copy(EdgeHandle _eh, const Point& _p) inline VertexHandle split_copy(EdgeHandle _eh, const Point& _p)
{ const VertexHandle vh = this->add_vertex(_p); Kernel::split_copy(_eh, vh); return vh; } {
//Do not call PolyMeshT function below as this does the wrong operation
const VertexHandle vh = this->add_vertex(_p); Kernel::split_copy(_eh, vh); return vh;
}
/** \brief Edge split (= 2-to-4 split) /** \brief Edge split (= 2-to-4 split)
* *
...@@ -209,7 +284,10 @@ public: ...@@ -209,7 +284,10 @@ public:
* @param _vh Vertex handle that will be inserted at the edge * @param _vh Vertex handle that will be inserted at the edge
*/ */
inline void split(EdgeHandle _eh, VertexHandle _vh) inline void split(EdgeHandle _eh, VertexHandle _vh)
{ Kernel::split(_eh, _vh); } {
//Do not call PolyMeshT function below as this does the wrong operation
Kernel::split(_eh, _vh);
}
/** \brief Edge split (= 2-to-4 split) /** \brief Edge split (= 2-to-4 split)
* *
...@@ -219,7 +297,10 @@ public: ...@@ -219,7 +297,10 @@ public:
* @param _vh Vertex handle that will be inserted at the edge * @param _vh Vertex handle that will be inserted at the edge
*/ */
inline void split_copy(EdgeHandle _eh, VertexHandle _vh) inline void split_copy(EdgeHandle _eh, VertexHandle _vh)
{ Kernel::split_copy(_eh, _vh); } {
//Do not call PolyMeshT function below as this does the wrong operation
Kernel::split_copy(_eh, _vh);
}
/** \brief Face split (= 1-to-3 split, calls corresponding PolyMeshT function). /** \brief Face split (= 1-to-3 split, calls corresponding PolyMeshT function).
* *
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment