Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-03-21 16:08:16 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-21 16:08:16 +0400
commitb15255e820f64d8280cb4611a1fcf5a7725d8e08 (patch)
tree2ccdbd60726170190b5baf59415f3e14f988917b /source
parent7a43cd7909e025ff7e0a464b97428d7cb96c2eb6 (diff)
move some bmesh headers into intern/ since they are not used externally.
Diffstat (limited to 'source')
-rw-r--r--source/blender/bmesh/CMakeLists.txt5
-rw-r--r--source/blender/bmesh/bmesh.h74
-rw-r--r--source/blender/bmesh/bmesh_class.h20
-rw-r--r--source/blender/bmesh/intern/bmesh_error.h (renamed from source/blender/bmesh/bmesh_error.h)0
-rw-r--r--source/blender/bmesh/intern/bmesh_inline.c40
-rw-r--r--source/blender/bmesh/intern/bmesh_operator_api.h (renamed from source/blender/bmesh/bmesh_operator_api.h)0
6 files changed, 65 insertions, 74 deletions
diff --git a/source/blender/bmesh/CMakeLists.txt b/source/blender/bmesh/CMakeLists.txt
index 1ffbb798c11..7f7f36e1d83 100644
--- a/source/blender/bmesh/CMakeLists.txt
+++ b/source/blender/bmesh/CMakeLists.txt
@@ -87,12 +87,13 @@ set(SRC
intern/bmesh_walkers_impl.c
intern/bmesh_walkers_private.h
+ intern/bmesh_operator_api.h
+ intern/bmesh_error.h
+
tools/BME_bevel.c
bmesh.h
bmesh_class.h
- bmesh_error.h
- bmesh_operator_api.h
)
if(MSVC)
diff --git a/source/blender/bmesh/bmesh.h b/source/blender/bmesh/bmesh.h
index 0cb1f5c051a..59b96cafca0 100644
--- a/source/blender/bmesh/bmesh.h
+++ b/source/blender/bmesh/bmesh.h
@@ -206,79 +206,9 @@ extern "C" {
#include "bmesh_class.h"
-/*forward declarations*/
-
-/* ------------------------------------------------------------------------- */
-/* bmesh_inline.c */
-
-/* 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);
-BLI_INLINE void _bm_elem_flag_enable(BMHeader *head, const char hflag);
-BLI_INLINE void _bm_elem_flag_disable(BMHeader *head, const char hflag);
-BLI_INLINE void _bm_elem_flag_set(BMHeader *head, const char hflag, const int val);
-BLI_INLINE void _bm_elem_flag_toggle(BMHeader *head, const char hflag);
-BLI_INLINE void _bm_elem_flag_merge(BMHeader *head_a, BMHeader *head_b);
-
-/* 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 int _bm_elem_index_get(const BMHeader *ele);
-BLI_INLINE void _bm_elem_index_set(BMHeader *ele, const int index);
-
-#ifdef USE_BMESH_HOLES
-# define BM_FACE_FIRST_LOOP(p) (((BMLoopList *)((p)->loops.first))->first)
-#else
-# define BM_FACE_FIRST_LOOP(p) ((p)->l_first)
-#endif
-
-/* size to use for static arrays when dealing with NGons,
- * alloc after this limit is reached.
- * this value is rather arbitrary */
-#define BM_NGON_STACK_SIZE 32
-
-/* avoid inf loop, this value is arbitrary
- * but should not error on valid cases */
-#define BM_LOOP_RADIAL_MAX 10000
-#define BM_NGON_MAX 100000
-
/* include the rest of the API */
-#include "bmesh_operator_api.h"
-#include "bmesh_error.h"
+#include "intern/bmesh_operator_api.h"
+#include "intern/bmesh_error.h"
#include "intern/bmesh_construct.h"
#include "intern/bmesh_core.h"
diff --git a/source/blender/bmesh/bmesh_class.h b/source/blender/bmesh/bmesh_class.h
index 5dc93bfad88..8c8272736e9 100644
--- a/source/blender/bmesh/bmesh_class.h
+++ b/source/blender/bmesh/bmesh_class.h
@@ -235,4 +235,24 @@ enum {
* not have functions clobber them */
};
+/* defines */
+
+/*forward declarations*/
+
+#ifdef USE_BMESH_HOLES
+# define BM_FACE_FIRST_LOOP(p) (((BMLoopList *)((p)->loops.first))->first)
+#else
+# define BM_FACE_FIRST_LOOP(p) ((p)->l_first)
+#endif
+
+/* size to use for static arrays when dealing with NGons,
+ * alloc after this limit is reached.
+ * this value is rather arbitrary */
+#define BM_NGON_STACK_SIZE 32
+
+/* avoid inf loop, this value is arbitrary
+ * but should not error on valid cases */
+#define BM_LOOP_RADIAL_MAX 10000
+#define BM_NGON_MAX 100000
+
#endif /* __BMESH_CLASS_H__ */
diff --git a/source/blender/bmesh/bmesh_error.h b/source/blender/bmesh/intern/bmesh_error.h
index 84065fe88f6..84065fe88f6 100644
--- a/source/blender/bmesh/bmesh_error.h
+++ b/source/blender/bmesh/intern/bmesh_error.h
diff --git a/source/blender/bmesh/intern/bmesh_inline.c b/source/blender/bmesh/intern/bmesh_inline.c
index 085488cf7ed..c9e4875866a 100644
--- a/source/blender/bmesh/intern/bmesh_inline.c
+++ b/source/blender/bmesh/intern/bmesh_inline.c
@@ -31,6 +31,14 @@
#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;
@@ -63,6 +71,38 @@ BLI_INLINE void _bm_elem_flag_merge(BMHeader *head_a, BMHeader *head_b)
}
+/* 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;
diff --git a/source/blender/bmesh/bmesh_operator_api.h b/source/blender/bmesh/intern/bmesh_operator_api.h
index 1b4e119ad92..1b4e119ad92 100644
--- a/source/blender/bmesh/bmesh_operator_api.h
+++ b/source/blender/bmesh/intern/bmesh_operator_api.h