[Bf-blender-cvs] [51dbf8d71a4] blender2.8: Fix T59087: Empty meshes have large bound-box

Campbell Barton noreply at git.blender.org
Mon Dec 10 09:32:54 CET 2018


Commit: 51dbf8d71a4d7e2cf6053ff6a0503938c830b3be
Author: Campbell Barton
Date:   Mon Dec 10 19:27:49 2018 +1100
Branches: blender2.8
https://developer.blender.org/rB51dbf8d71a4d7e2cf6053ff6a0503938c830b3be

Fix T59087: Empty meshes have large bound-box

Initialize to default values for meshes w/o vertices,
note that zeroing for BKE_object_boundbox_calc_from_mesh
matches old derived mesh code.

===================================================================

M	source/blender/blenkernel/intern/mesh.c
M	source/blender/blenkernel/intern/object.c

===================================================================

diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index e9d68d789a0..608c9780beb 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -922,7 +922,10 @@ BoundBox *BKE_mesh_boundbox_get(Object *ob)
 		float min[3], max[3];
 
 		INIT_MINMAX(min, max);
-		BKE_mesh_minmax(me, min, max);
+		if (!BKE_mesh_minmax(me, min, max)) {
+			min[0] = min[1] = min[2] = -1.0f;
+			max[0] = max[1] = max[2] = 1.0f;
+		}
 
 		if (ob->bb == NULL) {
 			ob->bb = MEM_mallocN(sizeof(*ob->bb), __func__);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index b6946967764..b5dfb5d8244 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2516,7 +2516,10 @@ void BKE_object_boundbox_calc_from_mesh(struct Object *ob, struct Mesh *me_eval)
 
 	INIT_MINMAX(min, max);
 
-	BKE_mesh_minmax(me_eval, min, max);
+	if (!BKE_mesh_minmax(me_eval, min, max)) {
+		zero_v3(min);
+		zero_v3(max);
+	}
 
 	if (ob->bb == NULL) {
 		ob->bb = MEM_callocN(sizeof(BoundBox), "DM-BoundBox");



More information about the Bf-blender-cvs mailing list