[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53707] trunk/blender/source/blender/ editors/space_view3d/view3d_buttons.c: simple speedup for view3d numeric panel - dont loop on verts or edges if none are selected .
Campbell Barton
ideasman42 at gmail.com
Thu Jan 10 15:38:30 CET 2013
Revision: 53707
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53707
Author: campbellbarton
Date: 2013-01-10 14:38:30 +0000 (Thu, 10 Jan 2013)
Log Message:
-----------
simple speedup for view3d numeric panel - dont loop on verts or edges if none are selected.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-01-10 14:36:08 UTC (rev 53706)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c 2013-01-10 14:38:30 UTC (rev 53707)
@@ -184,21 +184,21 @@
const int cd_edge_bweight_offset = CustomData_get_offset(&bm->edata, CD_BWEIGHT);
const int cd_edge_crease_offset = CustomData_get_offset(&bm->edata, CD_CREASE);
- BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) {
- if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
- MVertSkin *vs;
+ if (bm->totvertsel) {
+ BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) {
+ if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
+ evedef = eve;
+ tot++;
+ add_v3_v3(&median[LOC_X], eve->co);
- evedef = eve;
- tot++;
- add_v3_v3(&median[LOC_X], eve->co);
+ /* TODO cd_vert_bweight_offset */
+ (void)cd_vert_bweight_offset;
- /* TODO cd_vert_bweight_offset */
- (void)cd_vert_bweight_offset;
-
- if (cd_vert_skin_offset != -1) {
- vs = BM_ELEM_CD_GET_VOID_P(eve, cd_vert_skin_offset);
- add_v2_v2(&median[M_SKIN_X], vs->radius); /* Third val not used currently. */
- totskinradius++;
+ if (cd_vert_skin_offset != -1) {
+ MVertSkin *vs = BM_ELEM_CD_GET_VOID_P(eve, cd_vert_skin_offset);
+ add_v2_v2(&median[M_SKIN_X], vs->radius); /* Third val not used currently. */
+ totskinradius++;
+ }
}
}
}
@@ -206,17 +206,19 @@
if ((cd_edge_bweight_offset != -1) ||
(cd_edge_crease_offset != -1))
{
- BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) {
- if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
- if (cd_edge_bweight_offset != -1) {
- median[M_WEIGHT] += BM_ELEM_CD_GET_FLOAT(eed, cd_edge_bweight_offset);
- }
+ if (bm->totedgesel) {
+ BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) {
+ if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
+ if (cd_edge_bweight_offset != -1) {
+ median[M_WEIGHT] += BM_ELEM_CD_GET_FLOAT(eed, cd_edge_bweight_offset);
+ }
- if (cd_edge_crease_offset != -1) {
- median[M_CREASE] += BM_ELEM_CD_GET_FLOAT(eed, cd_edge_crease_offset);
+ if (cd_edge_crease_offset != -1) {
+ median[M_CREASE] += BM_ELEM_CD_GET_FLOAT(eed, cd_edge_crease_offset);
+ }
+
+ totedgedata++;
}
-
- totedgedata++;
}
}
}
More information about the Bf-blender-cvs
mailing list