[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45119] trunk/blender/source/blender: code cleanup: move bmesh inline funcs to headers ( avoids compiling the C files).
Campbell Barton
ideasman42 at gmail.com
Sat Mar 24 02:25:15 CET 2012
Revision: 45119
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45119
Author: campbellbarton
Date: 2012-03-24 01:24:58 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
code cleanup: move bmesh inline funcs to headers (avoids compiling the C files).
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
trunk/blender/source/blender/blenlib/BLI_math_inline.h
trunk/blender/source/blender/bmesh/CMakeLists.txt
trunk/blender/source/blender/bmesh/bmesh.h
trunk/blender/source/blender/bmesh/intern/bmesh_iterators.c
trunk/blender/source/blender/bmesh/intern/bmesh_iterators.h
trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
trunk/blender/source/blender/bmesh/intern/bmesh_mesh_validate.c
trunk/blender/source/blender/bmesh/intern/bmesh_opdefines.c
trunk/blender/source/blender/bmesh/intern/bmesh_operators.h
trunk/blender/source/blender/bmesh/intern/bmesh_structure.c
trunk/blender/source/blender/bmesh/intern/bmesh_walkers.c
trunk/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
trunk/blender/source/blender/bmesh/operators/bmo_connect.c
trunk/blender/source/blender/bmesh/operators/bmo_edgesplit.c
trunk/blender/source/blender/bmesh/tools/BME_bevel.c
trunk/blender/source/blender/editors/transform/transform_conversions.c
trunk/blender/source/blender/editors/transform/transform_generics.c
trunk/blender/source/blender/editors/transform/transform_manipulator.c
trunk/blender/source/blender/editors/transform/transform_orientations.c
trunk/blender/source/blender/editors/util/crazyspace.c
trunk/blender/source/blender/makesrna/intern/rna_object.c
trunk/blender/source/blender/python/bmesh/bmesh_py_api.c
trunk/blender/source/blender/python/bmesh/bmesh_py_types_select.c
trunk/blender/source/blender/python/bmesh/bmesh_py_utils.c
Added Paths:
-----------
trunk/blender/source/blender/bmesh/intern/bmesh_inline.h
trunk/blender/source/blender/bmesh/intern/bmesh_iterators_inline.h
trunk/blender/source/blender/bmesh/intern/bmesh_operator_api_inline.h
Removed Paths:
-------------
trunk/blender/source/blender/bmesh/intern/bmesh_inline.c
trunk/blender/source/blender/bmesh/intern/bmesh_iterators_inline.c
trunk/blender/source/blender/bmesh/intern/bmesh_operator_api_inline.c
Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-03-24 00:20:36 UTC (rev 45118)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-03-24 01:24:58 UTC (rev 45119)
@@ -36,13 +36,6 @@
#include "GL/glew.h"
-#include "BKE_cdderivedmesh.h"
-#include "BKE_global.h"
-#include "BKE_mesh.h"
-#include "BKE_paint.h"
-#include "BKE_utildefines.h"
-#include "BKE_tessmesh.h"
-
#include "BLI_scanfill.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
@@ -57,8 +50,9 @@
#include "BKE_global.h"
#include "BKE_mesh.h"
#include "BKE_paint.h"
+#include "BKE_utildefines.h"
+#include "BKE_tessmesh.h"
-
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
Modified: trunk/blender/source/blender/blenlib/BLI_math_inline.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_math_inline.h 2012-03-24 00:20:36 UTC (rev 45118)
+++ trunk/blender/source/blender/blenlib/BLI_math_inline.h 2012-03-24 01:24:58 UTC (rev 45119)
@@ -38,26 +38,25 @@
#define __BLI_MATH_INLINE_H__
#ifdef __BLI_MATH_INLINE_H__
-#ifdef _MSC_VER
-#define MINLINE static __forceinline
-#define MALWAYS_INLINE MINLINE
+# ifdef _MSC_VER
+# define MINLINE static __forceinline
+# define MALWAYS_INLINE MINLINE
+# else
+# define MINLINE static inline
+# if (defined(__APPLE__) && defined(__ppc__))
+ /* static inline __attribute__ here breaks osx ppc gcc42 build */
+# define MALWAYS_INLINE static __attribute__((always_inline))
+# else
+# define MALWAYS_INLINE static inline __attribute__((always_inline))
+# endif
+# endif
#else
-#define MINLINE static inline
-#if (defined(__APPLE__) && defined(__ppc__))
-/* static inline __attribute__ here breaks osx ppc gcc42 build */
-#define MALWAYS_INLINE static __attribute__((always_inline))
-#else
-#define MALWAYS_INLINE static inline __attribute__((always_inline))
+# define MINLINE
+# define MALWAYS_INLINE
#endif
-#endif
-#else
-#define MINLINE
-#define MALWAYS_INLINE
-#endif
#ifdef __cplusplus
}
#endif
#endif /* __BLI_MATH_INLINE_H__ */
-
Modified: trunk/blender/source/blender/bmesh/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/bmesh/CMakeLists.txt 2012-03-24 00:20:36 UTC (rev 45118)
+++ trunk/blender/source/blender/bmesh/CMakeLists.txt 2012-03-24 01:24:58 UTC (rev 45119)
@@ -56,12 +56,12 @@
intern/bmesh_construct.h
intern/bmesh_core.c
intern/bmesh_core.h
- intern/bmesh_inline.c
+ intern/bmesh_inline.h
intern/bmesh_interp.c
intern/bmesh_interp.h
intern/bmesh_iterators.c
intern/bmesh_iterators.h
- intern/bmesh_iterators_inline.c
+ intern/bmesh_iterators_inline.h
intern/bmesh_marking.c
intern/bmesh_marking.h
intern/bmesh_mesh.c
@@ -73,7 +73,7 @@
intern/bmesh_mods.c
intern/bmesh_mods.h
intern/bmesh_opdefines.c
- intern/bmesh_operator_api_inline.c
+ intern/bmesh_operator_api_inline.h
intern/bmesh_operators.c
intern/bmesh_operators.h
intern/bmesh_operators_private.h
Modified: trunk/blender/source/blender/bmesh/bmesh.h
===================================================================
--- trunk/blender/source/blender/bmesh/bmesh.h 2012-03-24 00:20:36 UTC (rev 45118)
+++ trunk/blender/source/blender/bmesh/bmesh.h 2012-03-24 01:24:58 UTC (rev 45119)
@@ -198,11 +198,11 @@
extern "C" {
#endif
-#include "DNA_listBase.h"
-#include "DNA_customdata_types.h"
+#include "DNA_listBase.h" /* selection history uses */
+#include "DNA_customdata_types.h" /* BMesh struct in bmesh_class.h uses */
#include <stdlib.h>
-#include "BLI_utildefines.h"
+// #include "BLI_utildefines.h"
#include "bmesh_class.h"
@@ -224,8 +224,7 @@
#include "intern/bmesh_queries.h"
#include "intern/bmesh_walkers.h"
-#include "intern/bmesh_inline.c"
-#include "intern/bmesh_operator_api_inline.c"
+#include "intern/bmesh_inline.h"
#ifdef __cplusplus
}
Deleted: trunk/blender/source/blender/bmesh/intern/bmesh_inline.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_inline.c 2012-03-24 00:20:36 UTC (rev 45118)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_inline.c 2012-03-24 01:24:58 UTC (rev 45119)
@@ -1,116 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Joseph Eagar, Geoffrey Bantle, Campbell Barton
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/bmesh/intern/bmesh_inline.c
- * \ingroup bmesh
- *
- * BM Inline functions.
- */
-
-#ifndef __BMESH_INLINE_C__
-#define __BMESH_INLINE_C__
-
-#include "bmesh.h"
-
-/* stuff for dealing with header flags */
-#define BM_elem_flag_test( ele, hflag) _bm_elem_flag_test (&(ele)->head, hflag)
-#define BM_elem_flag_enable( ele, hflag) _bm_elem_flag_enable (&(ele)->head, hflag)
-#define BM_elem_flag_disable(ele, hflag) _bm_elem_flag_disable (&(ele)->head, hflag)
-#define BM_elem_flag_set( ele, hflag, val) _bm_elem_flag_set (&(ele)->head, hflag, val)
-#define BM_elem_flag_toggle( ele, hflag) _bm_elem_flag_toggle (&(ele)->head, hflag)
-#define BM_elem_flag_merge( ele_a, ele_b) _bm_elem_flag_merge (&(ele_a)->head, &(ele_b)->head)
-
-BLI_INLINE char _bm_elem_flag_test(const BMHeader *head, const char hflag)
-{
- return head->hflag & hflag;
-}
-
-BLI_INLINE void _bm_elem_flag_enable(BMHeader *head, const char hflag)
-{
- head->hflag |= hflag;
-}
-
-BLI_INLINE void _bm_elem_flag_disable(BMHeader *head, const char hflag)
-{
- head->hflag &= ~hflag;
-}
-
-BLI_INLINE void _bm_elem_flag_set(BMHeader *head, const char hflag, const int val)
-{
- if (val) _bm_elem_flag_enable(head, hflag);
- else _bm_elem_flag_disable(head, hflag);
-}
-
-BLI_INLINE void _bm_elem_flag_toggle(BMHeader *head, const char hflag)
-{
- head->hflag ^= hflag;
-}
-
-BLI_INLINE void _bm_elem_flag_merge(BMHeader *head_a, BMHeader *head_b)
-{
- head_a->hflag = head_b->hflag = head_a->hflag | head_b->hflag;
-}
-
-
-/* notes on BM_elem_index_set(...) usage,
- * Set index is sometimes abused as temp storage, other times we cant be
- * sure if the index values are valid because certain operations have modified
- * the mesh structure.
- *
- * To set the elements to valid indices 'BM_mesh_elem_index_ensure' should be used
- * rather then adding inline loops, however there are cases where we still
- * set the index directly
- *
- * In an attempt to manage this, here are 3 tags Im adding to uses of
- * 'BM_elem_index_set'
- *
- * - 'set_inline' -- since the data is already being looped over set to a
- * valid value inline.
- *
- * - 'set_dirty!' -- intentionally sets the index to an invalid value,
- * flagging 'bm->elem_index_dirty' so we don't use it.
- *
- * - 'set_ok' -- this is valid use since the part of the code is low level.
- *
- * - 'set_ok_invalid' -- set to -1 on purpose since this should not be
- * used without a full array re-index, do this on
- * adding new vert/edge/faces since they may be added at
- * the end of the array.
- *
- * - 'set_loop' -- currently loop index values are not used used much so
- * assume each case they are dirty.
- * - campbell */
-
-#define BM_elem_index_get(ele) _bm_elem_index_get(&(ele)->head)
-#define BM_elem_index_set(ele, index) _bm_elem_index_set(&(ele)->head, index)
-
-BLI_INLINE void _bm_elem_index_set(BMHeader *head, const int index)
-{
- head->index = index;
-}
-
-BLI_INLINE int _bm_elem_index_get(const BMHeader *head)
-{
- return head->index;
-}
-
-#endif /* __BMESH_INLINE_C__ */
Copied: trunk/blender/source/blender/bmesh/intern/bmesh_inline.h (from rev 45117, trunk/blender/source/blender/bmesh/intern/bmesh_inline.c)
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_inline.h (rev 0)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_inline.h 2012-03-24 01:24:58 UTC (rev 45119)
@@ -0,0 +1,114 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Joseph Eagar, Geoffrey Bantle, Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/bmesh/intern/bmesh_inline.h
+ * \ingroup bmesh
+ *
+ * BM Inline functions.
+ */
+
+#ifndef __BMESH_INLINE_H__
+#define __BMESH_INLINE_H__
+
+/* stuff for dealing with header flags */
+#define BM_elem_flag_test( ele, hflag) _bm_elem_flag_test (&(ele)->head, hflag)
+#define BM_elem_flag_enable( ele, hflag) _bm_elem_flag_enable (&(ele)->head, hflag)
+#define BM_elem_flag_disable(ele, hflag) _bm_elem_flag_disable (&(ele)->head, hflag)
+#define BM_elem_flag_set( ele, hflag, val) _bm_elem_flag_set (&(ele)->head, hflag, val)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list