[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55950] trunk/blender/source/blender/bmesh /operators/bmo_inset.c: fix own mistake in recent inset-interpolation option, some faces were not interpolating.
Campbell Barton
ideasman42 at gmail.com
Thu Apr 11 02:23:10 CEST 2013
Revision: 55950
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55950
Author: campbellbarton
Date: 2013-04-11 00:23:09 +0000 (Thu, 11 Apr 2013)
Log Message:
-----------
fix own mistake in recent inset-interpolation option, some faces were not interpolating.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/operators/bmo_inset.c
Modified: trunk/blender/source/blender/bmesh/operators/bmo_inset.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_inset.c 2013-04-10 23:59:37 UTC (rev 55949)
+++ trunk/blender/source/blender/bmesh/operators/bmo_inset.c 2013-04-11 00:23:09 UTC (rev 55950)
@@ -472,13 +472,22 @@
/* initialize interpolation vars */
/* this could go in its own loop,
- * only use the 'es->l->f' so we don't store loops for faces which have no mixed selection */
+ * only use the 'es->l->f' so we don't store loops for faces which have no mixed selection
+ *
+ * note: faces on the other side of the inset will be interpolated too since this is hard to
+ * detect, just allow it even though it will cause some redundant interpolation */
if (use_interpolate) {
- const int j = BM_elem_index_get((f = es->l->f));
- if (iface_array[j] == NULL) {
- InterpFace *iface = BLI_memarena_alloc(interp_arena, sizeof(*iface));
- bm_interp_face_store(iface, bm, f, interp_arena);
- iface_array[j] = iface;
+ BMIter viter;
+ BM_ITER_ELEM (v, &viter, es->l->e, BM_VERTS_OF_EDGE) {
+ BMIter fiter;
+ BM_ITER_ELEM (f, &fiter, v, BM_FACES_OF_VERT) {
+ const int j = BM_elem_index_get(f);
+ if (iface_array[j] == NULL) {
+ InterpFace *iface = BLI_memarena_alloc(interp_arena, sizeof(*iface));
+ bm_interp_face_store(iface, bm, f, interp_arena);
+ iface_array[j] = iface;
+ }
+ }
}
}
/* done interpolation */
More information about the Bf-blender-cvs
mailing list