[Bf-blender-cvs] [563724a] temp-modifier-deltamush-experimental: minor rename RNA/flags

Campbell Barton noreply at git.blender.org
Sun Mar 29 19:41:43 CEST 2015


Commit: 563724a2ab5218f6aafb940d00e7382dd3bdaed0
Author: Campbell Barton
Date:   Mon Mar 30 04:24:16 2015 +1100
Branches: temp-modifier-deltamush-experimental
https://developer.blender.org/rB563724a2ab5218f6aafb940d00e7382dd3bdaed0

minor rename RNA/flags

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/editors/object/object_modifier.c
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_deltamush.c

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

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 112254f..a463bdc 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1387,12 +1387,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         sub.prop(md, "use_invert_vertex_group", text="", icon='ARROW_LEFTRIGHT')
 
     def DELTAMUSH(self, layout, ob, md):
-        if md.bind:
-            layout.operator("object.deltamush_bind", text="Unbind")
-        else:
-            layout.operator("object.deltamush_bind", text="Bind")
-        layout.prop(md, "only_smooth");
-        layout.prop(md, "pin_bounds");
+        is_bind = md.is_bind
+        layout.operator("object.deltamush_bind", text="Unbind" if is_bind else "Bind")
+        layout.prop(md, "use_only_smooth");
+        layout.prop(md, "use_pin_boundary");
         layout.label(text="Smoothing Details")
         layout.prop(md, "iterations")
         layout.prop(md, "lambda_factor", text="Factor")
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 06d746c..b7b5ce3 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -1832,7 +1832,7 @@ static int deltamush_bind_exec(bContext *C, wmOperator *op)
 		return OPERATOR_CANCELLED;
 	}
 
-	mmd->dm_flags = mmd->dm_flags ^ MOD_DELTAMUSH_BIND;
+	mmd->flag ^= MOD_DELTAMUSH_BIND;
 	DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
 	WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob);
 
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 6c96bfd..c130908 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1297,7 +1297,7 @@ typedef struct DeltaMushModifierData {
 	float *smooth_weights;
 	float lambda;
 	char defgrp_name[64];  /* MAX_VGROUP_NAME */
-	short repeat, dm_flags;
+	short repeat, flag;
 
 	unsigned int boundverts, pad;
 } DeltaMushModifierData;
@@ -1305,8 +1305,8 @@ typedef struct DeltaMushModifierData {
 /* Delta Mush modifier flags */
 enum {
 	MOD_DELTAMUSH_BIND = (1 << 1),
-	MOD_DELTAMUSH_SHOWSMOOTH = (1 << 2),
-	MOD_DELTAMUSH_PINBOUNDS = (1 << 3),
+	MOD_DELTAMUSH_ONLY_SMOOTH = (1 << 2),
+	MOD_DELTAMUSH_PIN_BOUNDARY = (1 << 3),
 };
 
 typedef struct UVWarpModifierData {
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 855a2b0..6757258 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -2157,19 +2157,20 @@ static void rna_def_modifier_deltamush(BlenderRNA *brna)
 	RNA_def_property_string_funcs(prop, NULL, NULL, "rna_DeltaMushModifier_defgrp_name_set");
 	RNA_def_property_update(prop, 0, "rna_DeltaMushModifier_update");
 
-	prop = RNA_def_property(srna, "bind", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "dm_flags", MOD_DELTAMUSH_BIND);
+	prop = RNA_def_property(srna, "is_bind", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_DELTAMUSH_BIND);
 	RNA_def_property_ui_text(prop, "Bind current shape", "");
+	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-	prop = RNA_def_property(srna, "only_smooth", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "dm_flags", MOD_DELTAMUSH_SHOWSMOOTH);
+	prop = RNA_def_property(srna, "use_only_smooth", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_DELTAMUSH_ONLY_SMOOTH);
 	RNA_def_property_ui_text(prop, "Display Smoothing Only", 
 		"Display the effects of smoothing without reconstructing the surface");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 
-	prop = RNA_def_property(srna, "pin_bounds", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "dm_flags", MOD_DELTAMUSH_PINBOUNDS);
+	prop = RNA_def_property(srna, "use_pin_boundary", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_DELTAMUSH_PIN_BOUNDARY);
 	RNA_def_property_ui_text(prop, "Pin Boundaries",
 		"Excludes vertices on a mesh boundary from being smoothed");
 	RNA_def_property_update(prop, 0, "rna_DeltaMushModifier_update");
diff --git a/source/blender/modifiers/intern/MOD_deltamush.c b/source/blender/modifiers/intern/MOD_deltamush.c
index a65f765..fb02f27 100644
--- a/source/blender/modifiers/intern/MOD_deltamush.c
+++ b/source/blender/modifiers/intern/MOD_deltamush.c
@@ -73,7 +73,7 @@ static void initData(ModifierData *md)
 {
 	DeltaMushModifierData *dmmd = (DeltaMushModifierData *)md;
 
-	dmmd->dm_flags = MOD_DELTAMUSH_PINBOUNDS;
+	dmmd->flag = MOD_DELTAMUSH_PIN_BOUNDARY;
 	dmmd->boundverts = 0;
 	dmmd->deltas = NULL;
 	dmmd->positions = NULL;
@@ -142,11 +142,11 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
 static void update_weights(Object *ob, DeltaMushModifierData *dmmd, DerivedMesh *dm)
 {
 	MDeformVert *dvert = NULL;
-	float w;
-	int defgrp_index, i;
-	int numVerts = dm->getNumVerts(dm);
+	int defgrp_index;
+	const unsigned int numVerts = (unsigned int)dm->getNumVerts(dm);
 
 	modifier_get_vgroup(ob, dm, dmmd->defgrp_name, &dvert, &defgrp_index);
+
 	if (!dmmd->smooth_weights && dvert) {
 		dmmd->smooth_weights = MEM_callocN(sizeof(float) * (size_t) numVerts, "delta mush weight cache");
 	}
@@ -154,9 +154,11 @@ static void update_weights(Object *ob, DeltaMushModifierData *dmmd, DerivedMesh
 		MEM_freeN(dmmd->smooth_weights);
 		dmmd->smooth_weights = NULL;
 	}
+
 	if (dmmd->smooth_weights && dvert) {
+		unsigned int i;
 		for (i = 0; i < numVerts; i++, dvert++) {
-			w = defvert_find_weight(dvert, defgrp_index);
+			const float w = defvert_find_weight(dvert, defgrp_index);
 			if (dmmd->smooth_weights[i] != w) {
 				dmmd->smooth_weights[i] = w;
 				if (dmmd->deltas) {
@@ -171,25 +173,26 @@ static void update_weights(Object *ob, DeltaMushModifierData *dmmd, DerivedMesh
 
 static void find_boundaries(DerivedMesh *dm, short *adjacent_counts)
 {
-	MPoly *polys = dm->getPolyArray(dm);
-	MLoop *loops = dm->getLoopArray(dm);
-	MEdge *edges = dm->getEdgeArray(dm);
-	int numFaces, numLoops, numEdges, i, j;
-	numEdges = dm->getNumEdges(dm);
-	numFaces = dm->getNumPolys(dm);
+	const MPoly *mpoly = dm->getPolyArray(dm);
+	const MLoop *mloop = dm->getLoopArray(dm);
+	const MEdge *medge = dm->getEdgeArray(dm);
+	unsigned int mpoly_num, medge_num, i;
+	medge_num = (unsigned int)dm->getNumEdges(dm);
+	mpoly_num = (unsigned int)dm->getNumPolys(dm);
 	/* count the number of adjacent faces */
-	for (i = 0; i < numFaces; i++) {
-		MPoly *p = &polys[i];
-		numLoops = p->totloop;
-		for (j = 0; j < numLoops; j++) {
-			adjacent_counts[loops[p->loopstart + j].v]++;
+	for (i = 0; i < mpoly_num; i++) {
+		const MPoly *p = &mpoly[i];
+		const int totloop = p->totloop;
+		int j;
+		for (j = 0; j < totloop; j++) {
+			adjacent_counts[mloop[p->loopstart + j].v]++;
 		}
 	}
 	/* subtract one from the count for each connected edge - if th count ends up as zero, edge is not a boundary */
 	/* this may also consider some other non-manifold edges as boundaries */
-	for (i = 0; i < numEdges; i++) {
-		adjacent_counts[edges[i].v1]--;
-		adjacent_counts[edges[i].v2]--;
+	for (i = 0; i < medge_num; i++) {
+		adjacent_counts[medge[i].v1]--;
+		adjacent_counts[medge[i].v2]--;
 	}
 }
 
@@ -460,7 +463,7 @@ static void smooth_verts(
 {
 	short *boundaries = NULL;
 
-	if (dmmd->dm_flags & MOD_DELTAMUSH_PINBOUNDS) {
+	if (dmmd->flag & MOD_DELTAMUSH_PIN_BOUNDARY) {
 		boundaries = MEM_callocN((size_t)numVerts * sizeof(short), "delta mush boundary data");
 		find_boundaries(dm, boundaries);
 	}
@@ -597,7 +600,7 @@ static void calc_deltas(
 	dmmd->boundverts = numVerts;
 	/* allocate deltas if they have not yet been allocated, otheriwse we will just write over them */
 	if (!dmmd->deltas) {
-		dmmd->deltas = MEM_mallocN((size_t)(numVerts * 3) * sizeof(float), "delta mush deltas");
+		dmmd->deltas = MEM_mallocN((size_t)numVerts * sizeof(float[3]), "delta mush deltas");
 	}
 
 	smooth_verts(dmmd, dm, smooth_vertex_cos, numVerts);
@@ -628,8 +631,8 @@ static void deltamushmodifier_do(
         float(*vertexCos)[3], unsigned int numVerts)
 {
 	DeltaMushModifierData *dmmd = (DeltaMushModifierData *)md;
-	const bool use_bind = (dmmd->dm_flags & MOD_DELTAMUSH_BIND) != 0;
-	const bool use_only_smooth = (dmmd->dm_flags & MOD_DELTAMUSH_SHOWSMOOTH)  != 0;
+	const bool use_bind = (dmmd->flag & MOD_DELTAMUSH_BIND) != 0;
+	const bool use_only_smooth = (dmmd->flag & MOD_DELTAMUSH_ONLY_SMOOTH)  != 0;
 
 	if (UNLIKELY(use_bind == false)) {
 		freeBind(dmmd);




More information about the Bf-blender-cvs mailing list