[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