diff options
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_mods.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_mods.c | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mods.c b/source/blender/bmesh/intern/bmesh_mods.c index 5fa12397a07..0a3857a6e0a 100644 --- a/source/blender/bmesh/intern/bmesh_mods.c +++ b/source/blender/bmesh/intern/bmesh_mods.c @@ -31,31 +31,6 @@ #include "bmesh.h" #include "intern/bmesh_private.h" -/** - * \brief Dissolve Vert - * - * Turns the face region surrounding a manifold vertex into a single polygon. - * - * \par Example: - * <pre> - * +---------+ +---------+ - * | \ / | | | - * Before: | v | After: | | - * | / \ | | | - * +---------+ +---------+ - * </pre> - * - * This function can also collapse edges too - * in cases when it can't merge into faces. - * - * \par Example: - * <pre> - * Before: +----v----+ After: +---------+ - * </pre> - * - * \note dissolves vert, in more situations than BM_disk_dissolve - * (e.g. if the vert is part of a wire edge, etc). - */ bool BM_vert_dissolve(BMesh *bm, BMVert *v) { /* logic for 3 or more is identical */ @@ -87,9 +62,6 @@ bool BM_vert_dissolve(BMesh *bm, BMVert *v) return BM_disk_dissolve(bm, v); } -/** - * dissolves all faces around a vert, and removes it. - */ bool BM_disk_dissolve(BMesh *bm, BMVert *v) { BMEdge *e, *keepedge = NULL, *baseedge = NULL; @@ -205,19 +177,6 @@ bool BM_disk_dissolve(BMesh *bm, BMVert *v) return true; } -/** - * \brief Faces Join Pair - * - * Joins two adjacent faces together. - * - * \note This method calls to #BM_faces_join to do its work. - * This means connected edges which also share the two faces will be joined. - * - * If the windings do not match the winding of the new face will follow - * \a l_a's winding (i.e. \a l_b will be reversed before the join). - * - * \return The combined face or NULL on failure. - */ BMFace *BM_faces_join_pair(BMesh *bm, BMLoop *l_a, BMLoop *l_b, const bool do_del) { BLI_assert((l_a != l_b) && (l_a->e == l_b->e)); @@ -231,24 +190,6 @@ BMFace *BM_faces_join_pair(BMesh *bm, BMLoop *l_a, BMLoop *l_b, const bool do_de return BM_faces_join(bm, faces, 2, do_del); } -/** - * \brief Face Split - * - * Split a face along two vertices. returns the newly made face, and sets - * the \a r_l member to a loop in the newly created edge. - * - * \param bm: The bmesh - * \param f: the original face - * \param l_a, l_b: Loops of this face, their vertices define - * the split edge to be created (must be differ and not can't be adjacent in the face). - * \param r_l: pointer which will receive the BMLoop for the split edge in the new face - * \param example: Edge used for attributes of splitting edge, if non-NULL - * \param no_double: Use an existing edge if found - * - * \return Pointer to the newly created face representing one side of the split - * if the split is successful (and the original face will be the other side). - * NULL if the split fails. - */ BMFace *BM_face_split(BMesh *bm, BMFace *f, BMLoop *l_a, @@ -313,24 +254,6 @@ BMFace *BM_face_split(BMesh *bm, return f_new; } -/** - * \brief Face Split with intermediate points - * - * Like BM_face_split, but with an edge split by \a n intermediate points with given coordinates. - * - * \param bm: The bmesh. - * \param f: the original face. - * \param l_a, l_b: Vertices which define the split edge, must be different. - * \param cos: Array of coordinates for intermediate points. - * \param n: Length of \a cos (must be > 0). - * \param r_l: pointer which will receive the BMLoop. - * for the first split edge (from \a l_a) in the new face. - * \param example: Edge used for attributes of splitting edge, if non-NULL. - * - * \return Pointer to the newly created face representing one side of the split - * if the split is successful (and the original face will be the other side). - * NULL if the split fails. - */ BMFace *BM_face_split_n(BMesh *bm, BMFace *f, BMLoop *l_a, @@ -404,29 +327,6 @@ BMFace *BM_face_split_n(BMesh *bm, return f_new; } -/** - * \brief Vert Collapse Faces - * - * Collapses vertex \a v_kill that has only two manifold edges - * onto a vertex it shares an edge with. - * \a fac defines the amount of interpolation for Custom Data. - * - * \note that this is not a general edge collapse function. - * - * \note this function is very close to #BM_vert_collapse_edge, - * both collapse a vertex and return a new edge. - * Except this takes a factor and merges custom data. - * - * \param bm: The bmesh - * \param e_kill: The edge to collapse - * \param v_kill: The vertex to collapse into the edge - * \param fac: The factor along the edge - * \param join_faces: When true the faces around the vertex will be joined - * otherwise collapse the vertex by merging the 2 edges this vert touches into one. - * \param kill_degenerate_faces: Removes faces with less than 3 verts after collapsing. - * - * \returns The New Edge - */ BMEdge *BM_vert_collapse_faces(BMesh *bm, BMEdge *e_kill, BMVert *v_kill, @@ -513,13 +413,6 @@ BMEdge *BM_vert_collapse_faces(BMesh *bm, return e_new; } -/** - * \brief Vert Collapse Faces - * - * Collapses a vertex onto another vertex it shares an edge with. - * - * \return The New Edge - */ BMEdge *BM_vert_collapse_edge(BMesh *bm, BMEdge *e_kill, BMVert *v_kill, @@ -560,34 +453,12 @@ BMEdge *BM_vert_collapse_edge(BMesh *bm, #undef DO_V_INTERP -/** - * Collapse and edge into a single vertex. - */ BMVert *BM_edge_collapse( BMesh *bm, BMEdge *e_kill, BMVert *v_kill, const bool do_del, const bool kill_degenerate_faces) { return bmesh_kernel_join_vert_kill_edge(bm, e_kill, v_kill, do_del, true, kill_degenerate_faces); } -/** - * \brief Edge Split - * - * <pre> - * Before: v - * +-----------------------------------+ - * e - * - * After: v v_new (returned) - * +-----------------+-----------------+ - * r_e e - * </pre> - * - * \param e: The edge to split. - * \param v: One of the vertices in \a e and defines the "from" end of the splitting operation, - * the new vertex will be \a fac of the way from \a v to the other end. - * \param r_e: The newly created edge. - * \return The new vertex. - */ BMVert *BM_edge_split(BMesh *bm, BMEdge *e, BMVert *v, BMEdge **r_e, float fac) { BMVert *v_new, *v_other; @@ -703,11 +574,6 @@ BMVert *BM_edge_split(BMesh *bm, BMEdge *e, BMVert *v, BMEdge **r_e, float fac) return v_new; } -/** - * \brief Split an edge multiple times evenly - * - * \param r_varr: Optional array, verts in between (v1 -> v2) - */ BMVert *BM_edge_split_n(BMesh *bm, BMEdge *e, int numcuts, BMVert **r_varr) { int i; @@ -725,11 +591,6 @@ BMVert *BM_edge_split_n(BMesh *bm, BMEdge *e, int numcuts, BMVert **r_varr) return v_new; } -/** - * Swap v1 & v2 - * - * \note Typically we shouldn't care about this, however it's used when extruding wire edges. - */ void BM_edge_verts_swap(BMEdge *e) { SWAP(BMVert *, e->v1, e->v2); @@ -785,20 +646,6 @@ bool BM_face_validate(BMFace *face, FILE *err) } #endif -/** - * Calculate the 2 loops which _would_ make up the newly rotated Edge - * but don't actually change anything. - * - * Use this to further inspect if the loops to be connected have issues: - * - * Examples: - * - the newly formed edge already exists - * - the new face would be degenerate (zero area / concave / bow-tie) - * - may want to measure if the new edge gives improved results topology. - * over the old one, as with beauty fill. - * - * \note #BM_edge_rotate_check must have already run. - */ void BM_edge_calc_rotate(BMEdge *e, const bool ccw, BMLoop **r_l1, BMLoop **r_l2) { BMVert *v1, *v2; @@ -825,12 +672,6 @@ void BM_edge_calc_rotate(BMEdge *e, const bool ccw, BMLoop **r_l1, BMLoop **r_l2 *r_l2 = BM_face_other_vert_loop(fa, v1, v2); } -/** - * \brief Check if Rotate Edge is OK - * - * Quick check to see if we could rotate the edge, - * use this to avoid calling exceptions on common cases. - */ bool BM_edge_rotate_check(BMEdge *e) { BMFace *fa, *fb; @@ -860,17 +701,6 @@ bool BM_edge_rotate_check(BMEdge *e) return false; } -/** - * \brief Check if Edge Rotate Gives Degenerate Faces - * - * Check 2 cases - * 1) does the newly forms edge form a flipped face (compare with previous cross product) - * 2) does the newly formed edge cause a zero area corner (or close enough to be almost zero) - * - * \param e: The edge to test rotation. - * \param l1, l2: are the loops of the proposed verts to rotate too and should - * be the result of calling #BM_edge_calc_rotate - */ bool BM_edge_rotate_check_degenerate(BMEdge *e, BMLoop *l1, BMLoop *l2) { /* NOTE: for these vars 'old' just means initial edge state. */ @@ -966,20 +796,6 @@ bool BM_edge_rotate_check_beauty(BMEdge *e, BMLoop *l1, BMLoop *l2) return (len_squared_v3v3(e->v1->co, e->v2->co) > len_squared_v3v3(l1->v->co, l2->v->co)); } -/** - * \brief Rotate Edge - * - * Spins an edge topologically, - * either counter-clockwise or clockwise depending on \a ccw. - * - * \return The spun edge, NULL on error - * (e.g., if the edge isn't surrounded by exactly two faces). - * - * \note This works by dissolving the edge then re-creating it, - * so the returned edge won't have the same pointer address as the original one. - * - * \see header definition for \a check_flag enum. - */ BMEdge *BM_edge_rotate(BMesh *bm, BMEdge *e, const bool ccw, const short check_flag) { BMVert *v1, *v2; @@ -1091,9 +907,6 @@ BMEdge *BM_edge_rotate(BMesh *bm, BMEdge *e, const bool ccw, const short check_f return e_new; } -/** - * \brief Rip a single face from a vertex fan - */ BMVert *BM_face_loop_separate(BMesh *bm, BMLoop *l_sep) { return bmesh_kernel_unglue_region_make_vert(bm, l_sep); |