[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52029] trunk/blender/source/blender: add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
Campbell Barton
ideasman42 at gmail.com
Fri Nov 9 09:28:16 CET 2012
Revision: 52029
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52029
Author: campbellbarton
Date: 2012-11-09 08:28:14 +0000 (Fri, 09 Nov 2012)
Log Message:
-----------
add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/anim.c
trunk/blender/source/blender/blenlib/PIL_time.h
trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
trunk/blender/source/blender/editors/transform/transform.c
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/blenkernel/intern/anim.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -727,7 +727,7 @@
* goes first in the array. */
dob->persistent_id[0] = index;
for (i = 1; i < level; i++)
- dob->persistent_id[i] = persistent_id[level-1-i];
+ dob->persistent_id[i] = persistent_id[level - 1 - i];
/* metaballs never draw in duplis, they are instead merged into one by the basis
* mball outside of the group. this does mean that if that mball is not in the
@@ -1647,7 +1647,7 @@
/* keep track of persistent id */
if (level > 0)
- persistent_id[level-1] = index;
+ persistent_id[level - 1] = index;
if (ob->transflag & OB_DUPLIPARTS) {
ParticleSystem *psys = ob->particlesystem.first;
@@ -1694,7 +1694,7 @@
/* clear persistent id */
if (level > 0)
- persistent_id[level-1] = 0;
+ persistent_id[level - 1] = 0;
}
/* Returns a list of DupliObject
Modified: trunk/blender/source/blender/blenlib/PIL_time.h
===================================================================
--- trunk/blender/source/blender/blenlib/PIL_time.h 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/blenlib/PIL_time.h 2012-11-09 08:28:14 UTC (rev 52029)
@@ -20,7 +20,7 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Campbell Barton
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -76,7 +76,10 @@
fflush(stdout); \
} (void)0
-
+/**
+ * Given some function/expression:
+ * TIMEIT_BENCH(some_function(), some_unique_description);
+ */
#define TIMEIT_BENCH(expr, id) \
{ \
TIMEIT_START(id); \
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -1024,7 +1024,12 @@
accum_angle += face_angle;
}
- return accum_shell / accum_angle;
+ if (accum_angle != 0.0f) {
+ return accum_shell / accum_angle;
+ }
+ else {
+ return 1.0f;
+ }
}
/**
@@ -1045,7 +1050,12 @@
}
}
- return length / (float)tot;
+ if (tot) {
+ return length / (float)tot;
+ }
+ else {
+ return 0.0f;
+ }
}
Modified: trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -1155,8 +1155,7 @@
/* Gather input selected edges.
* Only bevel selected edges that have exactly two incident faces. */
BMO_ITER (bme, &siter, bm, op, "geom", BM_EDGE) {
- if ((bme->v1 == v) || (BM_edge_other_vert(bme, bme->v1) == v))
- {
+ if ((bme->v1 == v) || (BM_edge_other_vert(bme, bme->v1) == v)) {
if (BM_edge_face_count(bme) == 2) {
BMO_elem_flag_enable(bm, bme, EDGE_SELECTED);
nsel++;
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -1214,7 +1214,7 @@
hmargin = 0.1f * (x2 - x1);
vmargin = 0.05f * (y2 - y1);
- uiDrawBox(GL_LINE_LOOP, x1 + hmargin, y1+vmargin, x2 - hmargin, y2 - vmargin, 2.0f);
+ uiDrawBox(GL_LINE_LOOP, x1 + hmargin, y1 + vmargin, x2 - hmargin, y2 - vmargin, 2.0f);
hmargin = 0.035f * (x2 - x1);
vmargin = 0.035f * (y2 - y1);
Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/editors/transform/transform.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -1223,7 +1223,7 @@
break;
case LEFTALTKEY:
case RIGHTALTKEY:
- if (ELEM(t->spacetype ,SPACE_SEQ, SPACE_VIEW3D)) {
+ if (ELEM(t->spacetype, SPACE_SEQ, SPACE_VIEW3D)) {
t->flag |= T_ALT_TRANSFORM;
t->redraw |= TREDRAW_HARD;
}
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2012-11-09 07:29:27 UTC (rev 52028)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2012-11-09 08:28:14 UTC (rev 52029)
@@ -2979,9 +2979,12 @@
event.keymodifier = 0;
/* if test_break set, it catches this. Do not set with modifier presses. XXX Keep global for now? */
- if (event.type == ESCKEY && event.val == KM_PRESS &&
- event.shift == 0 && event.ctrl == 0 && event.alt == 0)
- G.is_break = TRUE;
+ if ((event.type == ESCKEY && event.val == KM_PRESS) &&
+ /* check other modifiers because ms-windows uses these to bring up the task manager */
+ (event.shift == 0 && event.ctrl == 0 && event.alt == 0))
+ {
+ G.is_break = TRUE;
+ }
/* double click test - only for press */
if (event.val == KM_PRESS) {
More information about the Bf-blender-cvs
mailing list