[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45538] trunk/blender: code cleanup: mselect conversion when creating a bmesh from a bmesh was overly verbose.
Campbell Barton
ideasman42 at gmail.com
Wed Apr 11 13:22:20 CEST 2012
Revision: 45538
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45538
Author: campbellbarton
Date: 2012-04-11 11:22:19 +0000 (Wed, 11 Apr 2012)
Log Message:
-----------
code cleanup: mselect conversion when creating a bmesh from a bmesh was overly verbose.
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2012-04-11 10:35:09 UTC (rev 45537)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2012-04-11 11:22:19 UTC (rev 45538)
@@ -1122,6 +1122,10 @@
split = colsub.row().split(percentage=0.15)
split.label(text="Location:")
split.label(text=info["location"])
+ if mod:
+ split = colsub.row().split(percentage=0.15)
+ split.label(text="File:")
+ split.label(text=mod.__file__)
if info["author"]:
split = colsub.row().split(percentage=0.15)
split.label(text="Author:")
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c 2012-04-11 10:35:09 UTC (rev 45537)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c 2012-04-11 11:22:19 UTC (rev 45538)
@@ -317,56 +317,39 @@
}
if (me->mselect && me->totselect != 0) {
- BMIter iter;
- BMVert *vertex;
- BMEdge *edge;
- BMFace *face;
- BMVert **vertex_array = MEM_callocN(sizeof(BMVert *) * bm->totvert,
- "Selection Conversion Vertex Pointer Array");
+
+ BMVert **vert_array = MEM_callocN(sizeof(BMVert *) * bm->totvert,
+ "Selection Conversion Vertex Pointer Array");
BMEdge **edge_array = MEM_callocN(sizeof(BMEdge *) * bm->totedge,
"Selection Conversion Edge Pointer Array");
BMFace **face_array = MEM_callocN(sizeof(BMFace *) * bm->totface,
"Selection Conversion Face Pointer Array");
- for (i = 0, vertex = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL);
- vertex;
- i++, vertex = BM_iter_step(&iter))
- {
- vertex_array[i] = vertex;
- }
+ BMIter iter;
+ BMVert *vert;
+ BMEdge *edge;
+ BMFace *face;
+ MSelect *msel;
- for (i = 0, edge = BM_iter_new(&iter, bm, BM_EDGES_OF_MESH, NULL);
- edge;
- i++, edge = BM_iter_step(&iter))
- {
- edge_array[i] = edge;
- }
+ BM_ITER_INDEX(vert, &iter, bm, BM_VERTS_OF_MESH, NULL, i) { vert_array[i] = vert; }
+ BM_ITER_INDEX(edge, &iter, bm, BM_EDGES_OF_MESH, NULL, i) { edge_array[i] = edge; }
+ BM_ITER_INDEX(face, &iter, bm, BM_FACES_OF_MESH, NULL, i) { face_array[i] = face; }
- for (i = 0, face = BM_iter_new(&iter, bm, BM_FACES_OF_MESH, NULL);
- face;
- i++, face = BM_iter_step(&iter))
- {
- face_array[i] = face;
- }
-
- if (me->mselect) {
- for (i = 0; i < me->totselect; i++) {
- if (me->mselect[i].type == ME_VSEL) {
- BM_select_history_store(bm, (BMElem *)vertex_array[me->mselect[i].index]);
- }
- else if (me->mselect[i].type == ME_ESEL) {
- BM_select_history_store(bm, (BMElem *)edge_array[me->mselect[i].index]);
- }
- else if (me->mselect[i].type == ME_FSEL) {
- BM_select_history_store(bm, (BMElem *)face_array[me->mselect[i].index]);
- }
+ for (i = 0, msel = me->mselect; i < me->totselect; i++, msel++) {
+ switch (msel->type) {
+ case ME_VSEL:
+ BM_select_history_store(bm, (BMElem *)vert_array[msel->index]);
+ break;
+ case ME_ESEL:
+ BM_select_history_store(bm, (BMElem *)edge_array[msel->index]);
+ break;
+ case ME_FSEL:
+ BM_select_history_store(bm, (BMElem *)face_array[msel->index]);
+ break;
}
}
- else {
- me->totselect = 0;
- }
- MEM_freeN(vertex_array);
+ MEM_freeN(vert_array);
MEM_freeN(edge_array);
MEM_freeN(face_array);
}
More information about the Bf-blender-cvs
mailing list