Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-03-05 04:50:18 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-05 04:50:18 +0400
commit4d84e869a0fd540247a99edbfeca24ffb75644cd (patch)
tree09c2b88dce2b66316f5e17d969170fdfd0cffbbc /source/blender/bmesh/intern/bmesh_core.c
parent5f509134ec22102cb00fdc9a623798c149fa43a9 (diff)
Improvements to bmesh edge rotate
On a user level, edge rotate now works better with multiple edges selected, it wont make zero area faces or rotate edges into existing ones. With a single edge selected - rotate is less strict and will allow ugly resulting faces but still checks on duplicate edges. API: * BM_edge_rotate now takes a flag, to optionally... ** check for existing edge ** splice edge (rotate and merge) ** check for degenerate resulting faces (overlapping geometry, zero area) ** beauty - only rotate to a better fit. ... this allows it to still be used as a low level API function since all checks can be skipped. * BM_edge_rotate() now works a bit different, it find the new edge rotation before joining the faces - exposed by BM_edge_rotate_calc(). * Added api call bmesh_radial_faceloop_find_vert() - Radial Find a Vertex Loop in Face
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_core.c')
-rw-r--r--source/blender/bmesh/intern/bmesh_core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/bmesh/intern/bmesh_core.c b/source/blender/bmesh/intern/bmesh_core.c
index dd5edcae583..97a7cb41eaa 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -41,7 +41,7 @@
* TESTING ONLY! */
// #define USE_DEBUG_INDEX_MEMCHECK
-static int bm_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget);
+int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget);
#ifdef USE_DEBUG_INDEX_MEMCHECK
#define DEBUG_MEMCHECK_INDEX_INVALIDATE(ele) \
@@ -1523,7 +1523,7 @@ BMEdge *bmesh_jekv(BMesh *bm, BMEdge *ke, BMVert *kv, const short check_edge_dou
if (check_edge_double) {
if (e_splice) {
/* removes e_splice */
- bm_edge_splice(bm, e_splice, oe);
+ BM_edge_splice(bm, e_splice, oe);
}
}
@@ -1845,7 +1845,7 @@ static int bm_vert_cut(BMesh *bm, BMVert *v, BMVert ***vout, int *len)
*
* \note Edges must already have the same vertices.
*/
-static int bm_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget)
+int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget)
{
BMLoop *l;