[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60000] branches/soc-2013-dingto: Merged revision(s) 59995-59999 from trunk/blender into soc-2013-dingto.

Thomas Dinges blender at dingto.org
Tue Sep 10 14:22:21 CEST 2013


Revision: 60000
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60000
Author:   dingto
Date:     2013-09-10 12:22:21 +0000 (Tue, 10 Sep 2013)
Log Message:
-----------
Merged revision(s) 59995-59999 from trunk/blender into soc-2013-dingto.

Yeah I know. :P

Modified Paths:
--------------
    branches/soc-2013-dingto/source/blender/blenkernel/intern/editmesh_bvh.c
    branches/soc-2013-dingto/source/blender/blenlib/BLI_linklist_stack.h

Property Changed:
----------------
    branches/soc-2013-dingto/


Property changes on: branches/soc-2013-dingto
___________________________________________________________________
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,58822,58989
/branches/soc-2013-depsgraph_mt:57516,57900,57939-57940,57945,57958-57961,58151,58155-58156,58169,58277-58279,58282-58283,58711,58787,58789,58796,59086-59087,59163,59166,59170,59181,59259-59260
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57315-57365,57369-58448,58450,58452-58770,58779,58783-58855,58857,58859-59032,59035-59602,59604-59994
   + /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,58822,58989
/branches/soc-2013-depsgraph_mt:57516,57900,57939-57940,57945,57958-57961,58151,58155-58156,58169,58277-58279,58282-58283,58711,58787,58789,58796,59086-59087,59163,59166,59170,59181,59259-59260
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57315-57365,57369-58448,58450,58452-58770,58779,58783-58855,58857,58859-59032,59035-59602,59604-59999

Modified: branches/soc-2013-dingto/source/blender/blenkernel/intern/editmesh_bvh.c
===================================================================
--- branches/soc-2013-dingto/source/blender/blenkernel/intern/editmesh_bvh.c	2013-09-10 12:20:03 UTC (rev 59999)
+++ branches/soc-2013-dingto/source/blender/blenkernel/intern/editmesh_bvh.c	2013-09-10 12:22:21 UTC (rev 60000)
@@ -225,7 +225,7 @@
 	struct RayCastUserData bmcb_data;
 	const float dist = r_dist ? *r_dist : FLT_MAX;
 
-	if (bmtree->cos_cage) BLI_assert(!(bmtree->em->bm->elem_index_dirty & BM_VERT));
+	if (bmtree->cos_cage) BLI_assert(!(bmtree->bm->elem_index_dirty & BM_VERT));
 
 	hit.dist = dist;
 	hit.index = -1;
@@ -319,7 +319,7 @@
 	const float dist = len_v3v3(co_a, co_b);
 	float dir[3];
 
-	if (bmtree->cos_cage) BLI_assert(!(bmtree->em->bm->elem_index_dirty & BM_VERT));
+	if (bmtree->cos_cage) BLI_assert(!(bmtree->bm->elem_index_dirty & BM_VERT));
 
 	sub_v3_v3v3(dir, co_b, co_a);
 
@@ -405,7 +405,7 @@
 	struct VertSearchUserData bmcb_data;
 	const float maxdist_sq = maxdist * maxdist;
 
-	if (bmtree->cos_cage) BLI_assert(!(bmtree->em->bm->elem_index_dirty & BM_VERT));
+	if (bmtree->cos_cage) BLI_assert(!(bmtree->bm->elem_index_dirty & BM_VERT));
 
 	hit.dist = maxdist_sq;
 	hit.index = -1;

Modified: branches/soc-2013-dingto/source/blender/blenlib/BLI_linklist_stack.h
===================================================================
--- branches/soc-2013-dingto/source/blender/blenlib/BLI_linklist_stack.h	2013-09-10 12:20:03 UTC (rev 59999)
+++ branches/soc-2013-dingto/source/blender/blenlib/BLI_linklist_stack.h	2013-09-10 12:22:21 UTC (rev 60000)
@@ -40,6 +40,15 @@
  * \note _##var##_type is a dummy var only used for typechecks.
  */
 
+/* -------------------------------------------------------------------- */
+/* Linked Stack using BLI_mempool
+ *
+ * Uses mempool for storage.
+ */
+
+/** \name Linked Stack (mempool)
+ * \{ */
+
 #define BLI_LINKSTACK_DECLARE(var, type) \
 	LinkNode *var; \
 	BLI_mempool *_##var##_pool; \
@@ -87,4 +96,64 @@
 #include "BLI_linklist.h"
 #include "BLI_mempool.h"
 
+/** \} */
+
+
+/* -------------------------------------------------------------------- */
+/* Linked Stack, using stack memory (alloca)
+ *
+ * alloca never frees, pop'd items are stored in a free-list for reuse.
+ * only use for lists small enough to fit on the stack.
+ */
+
+
+/** \name Linked Stack (alloca)
+ * \{ */
+
+#ifdef __GNUC__
+#  define _BLI_SMALLSTACK_CAST(var) typeof(_##var##_type)
+#else
+#  define _BLI_SMALLSTACK_CAST(var)
+#endif
+
+#define BLI_SMALLSTACK_DECLARE(var, type) \
+	LinkNode *_##var##_stack = NULL, *_##var##_free = NULL, *_##var##_temp = NULL; \
+	type _##var##_type
+
+#define BLI_SMALLSTACK_PUSH(var, data) \
+{ \
+	CHECK_TYPE_PAIR(data, _##var##_type); \
+	if (_##var##_free) { \
+		_##var##_temp = _##var##_free; \
+		_##var##_free = _##var##_free->next; \
+	} \
+	else { \
+		_##var##_temp = alloca(sizeof(LinkNode)); \
+	} \
+	_##var##_temp->next = _##var##_stack; \
+	_##var##_temp->link = data; \
+	_##var##_stack = _##var##_temp; \
+} (void)0
+
+/* internal use, no null check */
+#define _BLI_SMALLSTACK_DEL(var) \
+	(void)((_##var##_temp = _##var##_stack->next), \
+	       (_##var##_stack->next = _##var##_free), \
+	       (_##var##_free = _##var##_stack), \
+	       (_##var##_stack = _##var##_temp)) \
+
+/* check for typeof() */
+#define BLI_SMALLSTACK_POP(var) \
+	(_BLI_SMALLSTACK_CAST(var)) ((_##var##_stack) ? \
+	(_BLI_SMALLSTACK_DEL(var), (_##var##_free->link)) : NULL)
+
+#define BLI_SMALLSTACK_FREE(var)  { \
+	(void)&(_##var##_type); \
+} (void)0
+
+#include "BLI_alloca.h"
+
+/** \} */
+
 #endif  /* __BLI_LINKLIST_STACK_H__ */
+




More information about the Bf-blender-cvs mailing list