[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59130] branches/soc-2013-depsgraph_mt: Merging r59113 through r59129 from trunk into soc-2013-depsgraph_mt

Sergey Sharybin sergey.vfx at gmail.com
Wed Aug 14 09:08:59 CEST 2013


Revision: 59130
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59130
Author:   nazgul
Date:     2013-08-14 07:08:59 +0000 (Wed, 14 Aug 2013)
Log Message:
-----------
Merging r59113 through r59129 from trunk into soc-2013-depsgraph_mt

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59113
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59129

Modified Paths:
--------------
    branches/soc-2013-depsgraph_mt/extern/libmv/libmv/tracking/track_region.cc
    branches/soc-2013-depsgraph_mt/intern/cycles/kernel/osl/osl_closures.h
    branches/soc-2013-depsgraph_mt/release/scripts/startup/bl_operators/add_mesh_torus.py
    branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/curve.c
    branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_array.h
    branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/BLI_array.c
    branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_edgenet.c
    branches/soc-2013-depsgraph_mt/source/gameengine/Ketsji/KX_Dome.cpp

Property Changed:
----------------
    branches/soc-2013-depsgraph_mt/
    branches/soc-2013-depsgraph_mt/source/blender/editors/interface/interface.c
    branches/soc-2013-depsgraph_mt/source/blender/editors/space_outliner/


Property changes on: branches/soc-2013-depsgraph_mt
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59112
   + /branches/ge_dev:58091-58422
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59129

Modified: branches/soc-2013-depsgraph_mt/extern/libmv/libmv/tracking/track_region.cc
===================================================================
--- branches/soc-2013-depsgraph_mt/extern/libmv/libmv/tracking/track_region.cc	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/extern/libmv/libmv/tracking/track_region.cc	2013-08-14 07:08:59 UTC (rev 59130)
@@ -796,7 +796,7 @@
     parameters[1] = t[1];
 
     // Obtain the rotation via orthorgonal procrustes.
-    Mat2 correlation_matrix;
+    Mat2 correlation_matrix = Mat2::Zero();
     for (int i = 0; i < 4; ++i) {
       correlation_matrix += q1.CornerRelativeToCentroid(i) *
                             q2.CornerRelativeToCentroid(i).transpose();
@@ -864,7 +864,7 @@
     parameters[2] = 1.0 - q2.Scale() / q1.Scale();
 
     // Obtain the rotation via orthorgonal procrustes.
-    Mat2 correlation_matrix;
+    Mat2 correlation_matrix = Mat2::Zero();
     for (int i = 0; i < 4; ++i) {
       correlation_matrix += q1.CornerRelativeToCentroid(i) *
                             q2.CornerRelativeToCentroid(i).transpose();

Modified: branches/soc-2013-depsgraph_mt/intern/cycles/kernel/osl/osl_closures.h
===================================================================
--- branches/soc-2013-depsgraph_mt/intern/cycles/kernel/osl/osl_closures.h	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/intern/cycles/kernel/osl/osl_closures.h	2013-08-14 07:08:59 UTC (rev 59130)
@@ -33,14 +33,13 @@
 #ifndef __OSL_CLOSURES_H__
 #define __OSL_CLOSURES_H__
 
+#include "util_types.h"
+#include "kernel_types.h"
+
 #include <OSL/oslclosure.h>
 #include <OSL/oslexec.h>
 #include <OSL/genclosure.h>
 
-#include "kernel_types.h"
-
-#include "util_types.h"
-
 CCL_NAMESPACE_BEGIN
 
 OSL::ClosureParam *closure_emission_params();

Modified: branches/soc-2013-depsgraph_mt/release/scripts/startup/bl_operators/add_mesh_torus.py
===================================================================
--- branches/soc-2013-depsgraph_mt/release/scripts/startup/bl_operators/add_mesh_torus.py	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/release/scripts/startup/bl_operators/add_mesh_torus.py	2013-08-14 07:08:59 UTC (rev 59130)
@@ -105,11 +105,11 @@
             default=12,
             )
     mode = bpy.props.EnumProperty(
-            name="Torus Dimentions",
+            name="Torus Dimensions",
             items=(("MAJOR_MINOR", "Major/Minor", 
-                    "Use the major/minor radiuses for torus dimensions"),
+                    "Use the major/minor radii for torus dimensions"),
                    ("EXT_INT", "Exterior/Interior", 
-                    "Use the exterior/interior radiuses for torus dimensions")),
+                    "Use the exterior/interior radii for torus dimensions")),
             update=mode_update_callback,
             )
     major_radius = FloatProperty(

Modified: branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/curve.c	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/curve.c	2013-08-14 07:08:59 UTC (rev 59130)
@@ -2282,15 +2282,18 @@
 		}
 	}
 	else {
-		/* Need to correct quat for the last point,
+		/* Need to correct quat for the first/last point,
 		 * this is so because previously it was only calculated
 		 * using it's own direction, which might not correspond
-		 * the twist of previous point.
+		 * the twist of neighbor point.
 		 */
+		bevp1 = (BevPoint *)(bl + 1);
+		bevp0 = bevp1 + 1;
+		minimum_twist_between_two_points(bevp1, bevp0);
+
 		bevp2 = (BevPoint *)(bl + 1);
 		bevp1 = bevp2 + (bl->nr - 1);
 		bevp0 = bevp1 - 1;
-
 		minimum_twist_between_two_points(bevp1, bevp0);
 	}
 }

Modified: branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_array.h
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_array.h	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenlib/BLI_array.h	2013-08-14 07:08:59 UTC (rev 59130)
@@ -173,4 +173,14 @@
 		MEM_freeN(arr);                                                       \
 	} (void)0
 
+
+void _bli_array_reverse(void *arr, unsigned int arr_len, size_t arr_stride);
+#define BLI_array_reverse(arr, arr_len) \
+	_bli_array_reverse(arr, arr_len, sizeof(*(arr)))
+
+void _bli_array_wrap(void *arr, unsigned int arr_len, size_t arr_stride, int dir);
+#define BLI_array_wrap(arr, arr_len, dir) \
+	_bli_array_wrap(arr, arr_len, sizeof(*(arr)), dir)
+
+
 #endif  /* __BLI_ARRAY_H__ */

Modified: branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/BLI_array.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/BLI_array.c	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenlib/intern/BLI_array.c	2013-08-14 07:08:59 UTC (rev 59130)
@@ -59,9 +59,14 @@
  */
 
 #include <string.h>
+#include <stdlib.h>
 
 #include "BLI_array.h"
 
+#include "BLI_sys_types.h"
+#include "BLI_utildefines.h"
+#include "BLI_alloca.h"
+
 #include "MEM_guardedalloc.h"
 
 /**
@@ -95,3 +100,40 @@
 	arr_count += num;
 #endif
 }
+
+void _bli_array_reverse(void *arr_v, unsigned int arr_len, size_t arr_stride)
+{
+	const unsigned int arr_half_stride = (arr_len / 2) * arr_stride;
+	unsigned int i, i_end;
+	char *arr = arr_v;
+	char *buf = BLI_array_alloca(buf, arr_stride);
+
+	for (i = 0, i_end = (arr_len - 1) * arr_stride;
+	     i < arr_half_stride;
+	     i += arr_stride, i_end -= arr_stride)
+	{
+		memcpy(buf, &arr[i], arr_stride);
+		memcpy(&arr[i], &arr[i_end], arr_stride);
+		memcpy(&arr[i_end], buf, arr_stride);
+	}
+}
+
+void _bli_array_wrap(void *arr_v, unsigned int arr_len, size_t arr_stride, int dir)
+{
+	char *arr = arr_v;
+	char *buf = BLI_array_alloca(buf, arr_stride);
+
+	if (dir == -1) {
+		memcpy(buf, arr, arr_stride);
+		memmove(arr, arr + arr_stride, arr_stride * (arr_len - 1));
+		memcpy(arr + (arr_stride * (arr_len - 1)), buf, arr_stride);
+	}
+	else if (dir == 1) {
+		memcpy(buf, arr + (arr_stride * (arr_len - 1)), arr_stride);
+		memmove(arr + arr_stride, arr, arr_stride * (arr_len - 1));
+		memcpy(arr, buf, arr_stride);
+	}
+	else {
+		BLI_assert(0);
+	}
+}

Modified: branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_edgenet.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_edgenet.c	2013-08-14 06:51:18 UTC (rev 59129)
+++ branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_edgenet.c	2013-08-14 07:08:59 UTC (rev 59130)
@@ -31,6 +31,7 @@
 #include "BLI_listbase.h"
 #include "BLI_math.h"
 #include "BLI_array.h"
+#include "BLI_alloca.h"
 #include "BLI_smallhash.h"
 #include "BLI_rand.h"
 #include "BLI_heap.h"
@@ -885,27 +886,82 @@
 	winding[(test_v1 == node->v)]++;
 }
 
+static BMFace *bm_face_from_path(BMesh *bm, EPath *path,
+                                 EdgeData *edata,
+                                 const bool use_fill_check)
+{
+	/* accumulte winding directions for each edge which has a face */
+	const unsigned int path_len = BLI_countlist(&path->nodes);
+	unsigned int winding[2] = {0, 0};
+	unsigned int i;
+
+	EPathNode *node;
+
+	BMVert **verts = BLI_array_alloca(verts, path_len);
+	BMEdge **edges = BLI_array_alloca(edges, path_len);
+	BMEdge *e;
+	BMVert *v;
+
+	for (node = path->nodes.first, i = 0; node; node = node->next, i++) {
+
+		v = node->v;
+		e = BM_edge_exists(v, node->next ?
+		                      node->next->v :
+		                      ((EPathNode *)path->nodes.first)->v);
+
+		/* check on the winding */
+		if (e->l) {
+			if (UNLIKELY(count_edge_faces(bm, e) >= 2)) {
+				return NULL;
+			}
+
+			vote_on_winding(e, node, winding);
+		}
+
+		verts[i] = v;
+		edges[i] = e;
+	}
+
+	/* do after incase we bail early, above */
+	for (i = 0; i < path_len; i++) {
+		edata[BM_elem_index_get(edges[i])].ftag++;
+	}
+
+
+	/* if these are even it doesn't really matter what to do,
+	 * with consistent geometry one will be zero, the choice is clear */
+	if (winding[0] > winding[1]) {
+		BLI_array_wrap(verts, path_len, -1);
+		BLI_array_reverse(verts, path_len);
+		BLI_array_reverse(edges, path_len);
+	}
+
+	if ((use_fill_check == false) ||

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list