[Bf-blender-cvs] [f236797eee8] temp-fracture-modifier-2.8: fix incorrectly flipped carve result

Martin Felke noreply at git.blender.org
Sat Mar 9 21:10:12 CET 2019


Commit: f236797eee873d25add884020f55702963ba3b19
Author: Martin Felke
Date:   Sat Mar 9 21:09:52 2019 +0100
Branches: temp-fracture-modifier-2.8
https://developer.blender.org/rBf236797eee873d25add884020f55702963ba3b19

fix incorrectly flipped carve result

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

M	source/blender/blenkernel/intern/boolean.c

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

diff --git a/source/blender/blenkernel/intern/boolean.c b/source/blender/blenkernel/intern/boolean.c
index 06d60b16520..679f6f9a481 100644
--- a/source/blender/blenkernel/intern/boolean.c
+++ b/source/blender/blenkernel/intern/boolean.c
@@ -152,31 +152,17 @@ Mesh *BKE_boolean_operation(Mesh *mesh, struct Object *ob,
 				DerivedMesh *dm_other = CDDM_from_mesh(mesh_other);
 				DerivedMesh *dm_result = NULL;
 
-				dm_result = NewBooleanDerivedMesh(dm, object, dm_other, other,
+				dm_result = NewBooleanDerivedMesh(dm_other, other, dm, object,
 											   1 + op_type);
 
-				if (dm_result && dm_result != dm)
-				{
-					float imat[4][4];
-					float omat[4][4];
+				dm->needsFree = 1;
+				dm->release(dm);
 
+				if (dm_result && dm_result != dm_other)
+				{
 					result = BKE_id_new_nomain(ID_ME, NULL);
 					DM_to_mesh(dm_result, result, object, CD_MASK_MESH, true);
 
-					//correct transform
-					invert_m4_m4(imat, object->obmat);
-					mul_m4_m4m4(omat, imat, other->obmat);
-
-					const int mverts_len = result->totvert;
-					MVert *mv = result->mvert;
-
-					for (int i = 0; i < mverts_len; i++, mv++) {
-						mul_m4_v3(omat, mv->co);
-					}
-
-					dm->needsFree = 1;
-					dm->release(dm);
-
 					dm_other->needsFree = 1;
 					dm_other->release(dm_other);
 				}



More information about the Bf-blender-cvs mailing list