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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-10-20 14:11:26 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-10-20 14:11:26 +0400
commitdeeecc20295e791de6b7e8f734f9d532e99fc075 (patch)
tree2dc7bb72732aa0d8ae1fe54de37696bfd17a2c99 /source/blender
parent23d43396ffd667c6cab5f412bc13fa0b01bee4a3 (diff)
code cleanup: remove unused members of BMIter struct to save some space. (this iterator is used everywhere).
also rename vars in the struct.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/bmesh/intern/bmesh_core.h4
-rw-r--r--source/blender/bmesh/intern/bmesh_iterators.c132
-rw-r--r--source/blender/bmesh/intern/bmesh_iterators.h12
3 files changed, 76 insertions, 72 deletions
diff --git a/source/blender/bmesh/intern/bmesh_core.h b/source/blender/bmesh/intern/bmesh_core.h
index 491287993df..0667ed9ea1c 100644
--- a/source/blender/bmesh/intern/bmesh_core.h
+++ b/source/blender/bmesh/intern/bmesh_core.h
@@ -41,8 +41,8 @@ void BM_edge_kill(BMesh *bm, BMEdge *e);
void BM_vert_kill(BMesh *bm, BMVert *v);
int bmesh_edge_separate(BMesh *bm, BMEdge *e, BMLoop *l_sep);
-int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *etarget);
-int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *vtarget);
+int BM_edge_splice(BMesh *bm, BMEdge *e, BMEdge *e_target);
+int BM_vert_splice(BMesh *bm, BMVert *v, BMVert *v_target);
int bmesh_vert_separate(BMesh *bm, BMVert *v, BMVert ***r_vout, int *r_vout_len);
diff --git a/source/blender/bmesh/intern/bmesh_iterators.c b/source/blender/bmesh/intern/bmesh_iterators.c
index 10f0df78fd0..1cb95d94e9b 100644
--- a/source/blender/bmesh/intern/bmesh_iterators.c
+++ b/source/blender/bmesh/intern/bmesh_iterators.c
@@ -205,10 +205,10 @@ int BM_iter_mesh_count_flag(const char itype, BMesh *bm, const char hflag, const
*/
static void init_iterator(BMIter *iter)
{
- iter->firstvert = iter->nextvert = NULL;
- iter->firstedge = iter->nextedge = NULL;
- iter->firstloop = iter->nextloop = NULL;
- iter->firstpoly = iter->nextpoly = NULL;
+// iter->v_first = iter->v_next = NULL; // UNUSED
+ iter->e_first = iter->e_next = NULL;
+ iter->l_first = iter->l_next = NULL;
+// iter->f_first = iter->f_next = NULL; // UNUSED
iter->ldata = NULL;
}
@@ -272,19 +272,19 @@ void bmiter__edge_of_vert_begin(BMIter *iter)
{
init_iterator(iter);
if (iter->vdata->e) {
- iter->firstedge = iter->vdata->e;
- iter->nextedge = iter->vdata->e;
+ iter->e_first = iter->vdata->e;
+ iter->e_next = iter->vdata->e;
}
}
void *bmiter__edge_of_vert_step(BMIter *iter)
{
- BMEdge *current = iter->nextedge;
+ BMEdge *current = iter->e_next;
- if (iter->nextedge)
- iter->nextedge = bmesh_disk_edge_next(iter->nextedge, iter->vdata);
+ if (iter->e_next)
+ iter->e_next = bmesh_disk_edge_next(iter->e_next, iter->vdata);
- if (iter->nextedge == iter->firstedge) iter->nextedge = NULL;
+ if (iter->e_next == iter->e_first) iter->e_next = NULL;
return current;
}
@@ -300,27 +300,27 @@ void bmiter__face_of_vert_begin(BMIter *iter)
if (iter->vdata->e)
iter->count = bmesh_disk_facevert_count(iter->vdata);
if (iter->count) {
- iter->firstedge = bmesh_disk_faceedge_find_first(iter->vdata->e, iter->vdata);
- iter->nextedge = iter->firstedge;
- iter->firstloop = bmesh_radial_faceloop_find_first(iter->firstedge->l, iter->vdata);
- iter->nextloop = iter->firstloop;
+ iter->e_first = bmesh_disk_faceedge_find_first(iter->vdata->e, iter->vdata);
+ iter->e_next = iter->e_first;
+ iter->l_first = bmesh_radial_faceloop_find_first(iter->e_first->l, iter->vdata);
+ iter->l_next = iter->l_first;
}
}
void *bmiter__face_of_vert_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->count && iter->nextloop) {
+ if (iter->count && iter->l_next) {
iter->count--;
- iter->nextloop = bmesh_radial_faceloop_find_next(iter->nextloop, iter->vdata);
- if (iter->nextloop == iter->firstloop) {
- iter->nextedge = bmesh_disk_faceedge_find_next(iter->nextedge, iter->vdata);
- iter->firstloop = bmesh_radial_faceloop_find_first(iter->nextedge->l, iter->vdata);
- iter->nextloop = iter->firstloop;
+ iter->l_next = bmesh_radial_faceloop_find_next(iter->l_next, iter->vdata);
+ if (iter->l_next == iter->l_first) {
+ iter->e_next = bmesh_disk_faceedge_find_next(iter->e_next, iter->vdata);
+ iter->l_first = bmesh_radial_faceloop_find_first(iter->e_next->l, iter->vdata);
+ iter->l_next = iter->l_first;
}
}
- if (!iter->count) iter->nextloop = NULL;
+ if (!iter->count) iter->l_next = NULL;
return current ? current->f : NULL;
}
@@ -338,27 +338,27 @@ void bmiter__loop_of_vert_begin(BMIter *iter)
if (iter->vdata->e)
iter->count = bmesh_disk_facevert_count(iter->vdata);
if (iter->count) {
- iter->firstedge = bmesh_disk_faceedge_find_first(iter->vdata->e, iter->vdata);
- iter->nextedge = iter->firstedge;
- iter->firstloop = bmesh_radial_faceloop_find_first(iter->firstedge->l, iter->vdata);
- iter->nextloop = iter->firstloop;
+ iter->e_first = bmesh_disk_faceedge_find_first(iter->vdata->e, iter->vdata);
+ iter->e_next = iter->e_first;
+ iter->l_first = bmesh_radial_faceloop_find_first(iter->e_first->l, iter->vdata);
+ iter->l_next = iter->l_first;
}
}
void *bmiter__loop_of_vert_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
if (iter->count) {
iter->count--;
- iter->nextloop = bmesh_radial_faceloop_find_next(iter->nextloop, iter->vdata);
- if (iter->nextloop == iter->firstloop) {
- iter->nextedge = bmesh_disk_faceedge_find_next(iter->nextedge, iter->vdata);
- iter->firstloop = bmesh_radial_faceloop_find_first(iter->nextedge->l, iter->vdata);
- iter->nextloop = iter->firstloop;
+ iter->l_next = bmesh_radial_faceloop_find_next(iter->l_next, iter->vdata);
+ if (iter->l_next == iter->l_first) {
+ iter->e_next = bmesh_disk_faceedge_find_next(iter->e_next, iter->vdata);
+ iter->l_first = bmesh_radial_faceloop_find_first(iter->e_next->l, iter->vdata);
+ iter->l_next = iter->l_first;
}
}
- if (!iter->count) iter->nextloop = NULL;
+ if (!iter->count) iter->l_next = NULL;
if (current) {
@@ -378,19 +378,19 @@ void bmiter__loops_of_edge_begin(BMIter *iter)
/* note sure why this sets ldata ... */
init_iterator(iter);
- iter->firstloop = iter->nextloop = l;
+ iter->l_first = iter->l_next = l;
}
void *bmiter__loops_of_edge_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) {
- iter->nextloop = iter->nextloop->radial_next;
+ if (iter->l_next) {
+ iter->l_next = iter->l_next->radial_next;
}
- if (iter->nextloop == iter->firstloop) {
- iter->nextloop = NULL;
+ if (iter->l_next == iter->l_first) {
+ iter->l_next = NULL;
}
if (current) {
@@ -409,23 +409,23 @@ void bmiter__loops_of_loop_begin(BMIter *iter)
/* note sure why this sets ldata ... */
init_iterator(iter);
- iter->firstloop = l;
- iter->nextloop = iter->firstloop->radial_next;
+ iter->l_first = l;
+ iter->l_next = iter->l_first->radial_next;
- if (iter->nextloop == iter->firstloop)
- iter->nextloop = NULL;
+ if (iter->l_next == iter->l_first)
+ iter->l_next = NULL;
}
void *bmiter__loops_of_loop_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) {
- iter->nextloop = iter->nextloop->radial_next;
+ if (iter->l_next) {
+ iter->l_next = iter->l_next->radial_next;
}
- if (iter->nextloop == iter->firstloop) {
- iter->nextloop = NULL;
+ if (iter->l_next == iter->l_first) {
+ iter->l_next = NULL;
}
if (current) {
@@ -444,20 +444,20 @@ void bmiter__face_of_edge_begin(BMIter *iter)
init_iterator(iter);
if (iter->edata->l) {
- iter->firstloop = iter->edata->l;
- iter->nextloop = iter->edata->l;
+ iter->l_first = iter->edata->l;
+ iter->l_next = iter->edata->l;
}
}
void *bmiter__face_of_edge_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) {
- iter->nextloop = iter->nextloop->radial_next;
+ if (iter->l_next) {
+ iter->l_next = iter->l_next->radial_next;
}
- if (iter->nextloop == iter->firstloop) iter->nextloop = NULL;
+ if (iter->l_next == iter->l_first) iter->l_next = NULL;
return current ? current->f : NULL;
}
@@ -492,15 +492,15 @@ void *bmiter__vert_of_edge_step(BMIter *iter)
void bmiter__vert_of_face_begin(BMIter *iter)
{
init_iterator(iter);
- iter->firstloop = iter->nextloop = BM_FACE_FIRST_LOOP(iter->pdata);
+ iter->l_first = iter->l_next = BM_FACE_FIRST_LOOP(iter->pdata);
}
void *bmiter__vert_of_face_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) iter->nextloop = iter->nextloop->next;
- if (iter->nextloop == iter->firstloop) iter->nextloop = NULL;
+ if (iter->l_next) iter->l_next = iter->l_next->next;
+ if (iter->l_next == iter->l_first) iter->l_next = NULL;
return current ? current->v : NULL;
}
@@ -512,15 +512,15 @@ void *bmiter__vert_of_face_step(BMIter *iter)
void bmiter__edge_of_face_begin(BMIter *iter)
{
init_iterator(iter);
- iter->firstloop = iter->nextloop = BM_FACE_FIRST_LOOP(iter->pdata);
+ iter->l_first = iter->l_next = BM_FACE_FIRST_LOOP(iter->pdata);
}
void *bmiter__edge_of_face_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) iter->nextloop = iter->nextloop->next;
- if (iter->nextloop == iter->firstloop) iter->nextloop = NULL;
+ if (iter->l_next) iter->l_next = iter->l_next->next;
+ if (iter->l_next == iter->l_first) iter->l_next = NULL;
return current ? current->e : NULL;
}
@@ -532,15 +532,15 @@ void *bmiter__edge_of_face_step(BMIter *iter)
void bmiter__loop_of_face_begin(BMIter *iter)
{
init_iterator(iter);
- iter->firstloop = iter->nextloop = BM_FACE_FIRST_LOOP(iter->pdata);
+ iter->l_first = iter->l_next = BM_FACE_FIRST_LOOP(iter->pdata);
}
void *bmiter__loop_of_face_step(BMIter *iter)
{
- BMLoop *current = iter->nextloop;
+ BMLoop *current = iter->l_next;
- if (iter->nextloop) iter->nextloop = iter->nextloop->next;
- if (iter->nextloop == iter->firstloop) iter->nextloop = NULL;
+ if (iter->l_next) iter->l_next = iter->l_next->next;
+ if (iter->l_next == iter->l_first) iter->l_next = NULL;
return current;
}
diff --git a/source/blender/bmesh/intern/bmesh_iterators.h b/source/blender/bmesh/intern/bmesh_iterators.h
index 27e01f4eaf5..3c42b3d610c 100644
--- a/source/blender/bmesh/intern/bmesh_iterators.h
+++ b/source/blender/bmesh/intern/bmesh_iterators.h
@@ -95,22 +95,26 @@ extern const char bm_iter_itype_htype_map[BM_ITYPE_MAX];
for (ele = BM_iter_new(iter, NULL, itype, data), indexvar = 0; ele; ele = BM_iter_step(iter), (indexvar)++)
/* Iterator Structure */
+/* note: some of these vars are not used,
+ * so they have beem commented to save stack space since this struct is used all over */
typedef struct BMIter {
BLI_mempool_iter pooliter;
- BMVert *firstvert, *nextvert, *vdata;
- BMEdge *firstedge, *nextedge, *edata;
- BMLoop *firstloop, *nextloop, *ldata, *l;
- BMFace *firstpoly, *nextpoly, *pdata;
+ BMVert /* *v_first, *v_next, */ *vdata;
+ BMEdge *e_first, *e_next, *edata;
+ BMLoop *l_first, *l_next, *ldata;
+ BMFace /* *f_first, *f_next, */ *pdata;
BMesh *bm;
void (*begin)(struct BMIter *iter);
void *(*step)(struct BMIter *iter);
+ /*
union {
void *p;
int i;
long l;
float f;
} filter;
+ */
int count; /* note, only some iterators set this, don't rely on it */
char itype;
} BMIter;