[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