[Bf-blender-cvs] [f23ef4db630] sculpt-mode-features: odd transform jumps should be fixed now

Martin Felke noreply at git.blender.org
Tue Apr 9 18:41:32 CEST 2019


Commit: f23ef4db630f232a561709c9a0441354cae5c35d
Author: Martin Felke
Date:   Tue Apr 9 18:39:24 2019 +0200
Branches: sculpt-mode-features
https://developer.blender.org/rBf23ef4db630f232a561709c9a0441354cae5c35d

odd transform jumps should be fixed now

instead of restoring the meshtransform on the original, a copy is made

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

M	source/blender/modifiers/intern/MOD_remesh.c

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

diff --git a/source/blender/modifiers/intern/MOD_remesh.c b/source/blender/modifiers/intern/MOD_remesh.c
index a263db9322c..5d6d7296147 100644
--- a/source/blender/modifiers/intern/MOD_remesh.c
+++ b/source/blender/modifiers/intern/MOD_remesh.c
@@ -220,7 +220,11 @@ static Mesh* voxel_remesh(RemeshModifierData *rmd, Mesh* mesh, struct OpenVDBLev
 
 static struct OpenVDBLevelSet* csgOperation(struct OpenVDBLevelSet* level_set, CSGVolume_Object* vcob, Object* ob)
 {
-	Mesh *me = BKE_object_get_final_mesh(vcob->object);
+	Mesh *me_orig = BKE_object_get_final_mesh(vcob->object);
+	Mesh *me = BKE_mesh_new_nomain(me_orig->totvert, me_orig->totedge, me_orig->totface, me_orig->totloop, me_orig->totpoly);
+
+	BKE_mesh_nomain_to_mesh(me_orig, me, vcob->object, &CD_MASK_MESH, false);
+
 	float imat[4][4];
 	float omat[4][4];
 
@@ -240,13 +244,7 @@ static struct OpenVDBLevelSet* csgOperation(struct OpenVDBLevelSet* level_set, C
 
 	OpenVDBLevelSet_free(level_setB);
 	OpenVDBTransform_free(xform);
-
-	//restore transform
-	invert_m4_m4(imat, omat);
-	for (int i = 0; i < me->totvert; i++)
-	{
-		mul_m4_v3(imat, me->mvert[i].co);
-	}
+	BKE_mesh_free(me);
 
 	return level_set;
 }



More information about the Bf-blender-cvs mailing list