[Bf-blender-cvs] [5db086b] master: Transform: minor optimization, use BLI_bitmap for island tagging

Campbell Barton noreply at git.blender.org
Wed Mar 12 08:32:24 CET 2014


Commit: 5db086b7ce7146fcf0661f387aeeba676e1d08c9
Author: Campbell Barton
Date:   Wed Mar 12 17:59:46 2014 +1100
https://developer.blender.org/rB5db086b7ce7146fcf0661f387aeeba676e1d08c9

Transform: minor optimization, use BLI_bitmap for island tagging

===================================================================

M	source/blender/editors/transform/transform_conversions.c

===================================================================

diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 7f475e3..b4bd922 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -64,6 +64,7 @@
 #include "BLI_linklist_stack.h"
 #include "BLI_string.h"
 #include "BLI_rect.h"
+#include "BLI_bitmap.h"
 
 #include "BKE_DerivedMesh.h"
 #include "BKE_action.h"
@@ -2588,10 +2589,10 @@ static void createTransUVs(bContext *C, TransInfo *t)
 	BMLoop *l;
 	BMIter iter, liter;
 	UvElementMap *elementmap = NULL;
-	char *island_enabled = NULL;
+	BLI_bitmap *island_enabled = NULL;
 	int count = 0, countsel = 0, count_rejected = 0;
-	int propmode = t->flag & T_PROP_EDIT;
-	int propconnected = t->flag & T_PROP_CONNECTED;
+	const bool propmode = (t->flag & T_PROP_EDIT) != 0;
+	const bool propconnected = (t->flag & T_PROP_CONNECTED) != 0;
 
 	const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
 
@@ -2606,7 +2607,7 @@ static void createTransUVs(bContext *C, TransInfo *t)
 		else {
 			elementmap = BM_uv_element_map_create(em->bm, true, true);
 		}
-		island_enabled = MEM_callocN(sizeof(*island_enabled) * elementmap->totalIslands, "TransIslandData(UV Editing)");
+		island_enabled = BLI_BITMAP_NEW(elementmap->totalIslands, "TransIslandData(UV Editing)");
 	}
 
 	BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
@@ -2624,7 +2625,7 @@ static void createTransUVs(bContext *C, TransInfo *t)
 
 				if (propconnected) {
 					UvElement *element = BM_uv_element_get(elementmap, efa, l);
-					island_enabled[element->island] = TRUE;
+					BLI_BITMAP_SET(island_enabled, element->island);
 				}
 
 			}
@@ -2665,7 +2666,7 @@ static void createTransUVs(bContext *C, TransInfo *t)
 
 			if (propconnected) {
 				UvElement *element = BM_uv_element_get(elementmap, efa, l);
-				if (!island_enabled[element->island]) {
+				if (!BLI_BITMAP_GET(island_enabled, element->island)) {
 					count_rejected++;
 					continue;
 				}




More information about the Bf-blender-cvs mailing list