[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