[Bf-blender-cvs] [1e2f2ce] soc-2016-uv_tools: Make inner fit polygon work with aspect ratios != 1
Phil Gosch
noreply at git.blender.org
Mon Sep 5 15:55:11 CEST 2016
Commit: 1e2f2ce404e6ad14e347aa4ccec1e70200700ef9
Author: Phil Gosch
Date: Mon Sep 5 15:54:45 2016 +0200
Branches: soc-2016-uv_tools
https://developer.blender.org/rB1e2f2ce404e6ad14e347aa4ccec1e70200700ef9
Make inner fit polygon work with aspect ratios != 1
===================================================================
M source/blender/editors/uvedit/uvedit_parametrizer.c
===================================================================
diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c b/source/blender/editors/uvedit/uvedit_parametrizer.c
index 5904e0c..6a5031e 100644
--- a/source/blender/editors/uvedit/uvedit_parametrizer.c
+++ b/source/blender/editors/uvedit/uvedit_parametrizer.c
@@ -5337,7 +5337,7 @@ static void p_convex_hull_restore_direction(PConvexHull *item, float margin)
p_convex_hull_compute_edge_components(item);
}
-static PNoFitPolygon *p_inner_fit_polygon_create(PConvexHull *item)
+static PNoFitPolygon *p_inner_fit_polygon_create(PHandle *phandle, PConvexHull *item)
{
PNoFitPolygon *nfp = (PNoFitPolygon *)MEM_callocN(sizeof(*nfp), "PNoFitPolygon");
/* Simplification, since we're not dealing with arbitrary shaped outer bounds */
@@ -5352,9 +5352,10 @@ static PNoFitPolygon *p_inner_fit_polygon_create(PConvexHull *item)
PPointUV *p4 = (PPointUV *)MEM_callocN(sizeof(*p4), "PPointUV");
/* reference point for item hull is the one with the lowest y value*/
-
- float bounds_height = 1.0f; /* ToDo Saphires: Aspect Ratio compensation */
- float bounds_width = 1.0f; /* ToDo Saphires: Aspect Ratio compensation */
+
+ /* Aspect Ratio compensation */
+ float bounds_height = phandle->aspy;
+ float bounds_width = phandle->aspx;
p1->x = item->verts[item->ref_vert_index]->x - item->min_v[0];
printf("item_ref_x: %f, %f, min_v[0]: %f\n", item->verts[item->ref_vert_index]->x, item->verts[item->ref_vert_index]->y, item->min_v[0]);
@@ -5699,7 +5700,7 @@ static bool p_chart_pack_individual(PHandle *phandle, PChart *item, float margin
/* compute inner fit polygon (IFP) */
printf("IFP construction start!\n");
- PNoFitPolygon *ifp = p_inner_fit_polygon_create(item_inv);
+ PNoFitPolygon *ifp = p_inner_fit_polygon_create(phandle, item_inv);
/*nfps[phandle->ncharts] = ifp;*/
nfps[cur_nfp] = ifp;
printf("IFP construction done!\n");
More information about the Bf-blender-cvs
mailing list