[Bf-blender-cvs] [0475c0c41e] uv_unwrapping_slim_algorithm: UV Unwrapping SLIM reducing SLIM iterations per live-unwrap-step to 3, taking care of memory leaks, removing packing when minimizi-stretch with non-fix border

Aurel Gruber noreply at git.blender.org
Thu Mar 23 16:46:33 CET 2017


Commit: 0475c0c41e492cfbf6d2c5efb3601cbc19a0cc9c
Author: Aurel Gruber
Date:   Thu Mar 16 11:08:02 2017 +0100
Branches: uv_unwrapping_slim_algorithm
https://developer.blender.org/rB0475c0c41e492cfbf6d2c5efb3601cbc19a0cc9c

UV Unwrapping SLIM reducing SLIM iterations per live-unwrap-step to 3, taking care of memory leaks, removing packing when minimizi-stretch with non-fix border

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

M	intern/slim/intern/slim_parametrizer.cpp
M	source/blender/editors/uvedit/uvedit_unwrap_ops.c

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

diff --git a/intern/slim/intern/slim_parametrizer.cpp b/intern/slim/intern/slim_parametrizer.cpp
index e799dd70a6..225674149a 100644
--- a/intern/slim/intern/slim_parametrizer.cpp
+++ b/intern/slim/intern/slim_parametrizer.cpp
@@ -93,7 +93,7 @@ static void adjustPins(SLIMData *slimData, int n_pins, int* selectedPinnedVertex
 	Executes several iterations of SLIM when used with LiveUnwrap
  */
 void param_slim_live_unwrap(SLIMData *slimData, int n_pins, int* selectedPinnedVertexIndices, double *selectedPinnedVertexPositions2D) {
-	int numberOfIterations = 5;
+	int numberOfIterations = 3;
 	adjustPins(slimData, n_pins, selectedPinnedVertexIndices, selectedPinnedVertexPositions2D);
 	// recompute current energy
 	recompute_energy(*slimData);
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index b530e554fd..27b9e55a4f 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -662,11 +662,7 @@ static void minimize_stretch_iteration(bContext *C, wmOperator *op, bool interac
 
 	//	Assign new UVs back to each vertex
 	set_uv_param_slim(mss->handle, rs->mt);
-	if (!(mss->fixBorder)) {
-		if (mss->noPins){
-			param_pack(mss->handle, 0, false);
-		}
-	}
+
 	param_flush(mss->handle);
 
 
@@ -702,12 +698,6 @@ static void minimize_stretch_exit(bContext *C, wmOperator *op, bool cancel)
 
 	set_uv_param_slim(mss->handle, rs->mt);
 
-	if (!(mss->fixBorder)) {
-		if (mss->noPins){
-			param_pack(mss->handle, 0, false);
-		}
-	}
-
 	param_flush(mss->handle);
 	param_delete(mss->handle);
 
@@ -999,6 +989,9 @@ void ED_uvedit_live_unwrap_re_solve(void)
 									  pinned_vertex_indices,
 									  pinned_vertex_positions_2D);
 				SLIM_transfer_uvs_blended(rs->mt, slimPtr, chartNr, 0);
+
+				MEM_freeN(pinned_vertex_indices);
+				MEM_freeN(pinned_vertex_positions_2D);
 			}
 
 			//	Assign new UVs back to each vertex




More information about the Bf-blender-cvs mailing list