[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42525] trunk/blender/source/blender: minor changes, fix coming next (no functional edits).
Campbell Barton
ideasman42 at gmail.com
Fri Dec 9 07:06:11 CET 2011
Revision: 42525
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42525
Author: campbellbarton
Date: 2011-12-09 06:05:58 +0000 (Fri, 09 Dec 2011)
Log Message:
-----------
minor changes, fix coming next (no functional edits).
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/armature.c
trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c 2011-12-09 01:27:59 UTC (rev 42524)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c 2011-12-09 06:05:58 UTC (rev 42525)
@@ -2473,7 +2473,7 @@
/* Returns total selected vgroups,
* wpi.defbase_sel is assumed malloc'd, all values are set */
-int get_selected_defgroups(Object *ob, char *dg_selection, int defbase_len)
+int get_selected_defgroups(Object *ob, char *dg_selection, int defbase_tot)
{
bDeformGroup *defgroup;
unsigned int i;
@@ -2482,7 +2482,7 @@
if(armob) {
bPose *pose= armob->pose;
- for (i= 0, defgroup= ob->defbase.first; i < defbase_len && defgroup; defgroup = defgroup->next, i++) {
+ for (i= 0, defgroup= ob->defbase.first; i < defbase_tot && defgroup; defgroup = defgroup->next, i++) {
bPoseChannel *pchan= get_pose_channel(pose, defgroup->name);
if(pchan && (pchan->bone->flag & BONE_SELECTED)) {
dg_selection[i]= TRUE;
@@ -2494,7 +2494,7 @@
}
}
else {
- memset(dg_selection, FALSE, sizeof(char) * defbase_len);
+ memset(dg_selection, FALSE, sizeof(char) * defbase_tot);
}
return dg_flags_sel_tot;
Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c 2011-12-09 01:27:59 UTC (rev 42524)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c 2011-12-09 06:05:58 UTC (rev 42525)
@@ -1159,7 +1159,7 @@
return NULL;
}
-static int has_locked_group_selected(int defbase_tot, char *defbase_sel, char *lock_flags)
+static int has_locked_group_selected(int defbase_tot, const char *defbase_sel, const char *lock_flags)
{
int i;
for(i = 0; i < defbase_tot; i++) {
@@ -1188,7 +1188,7 @@
#endif
-static void multipaint_selection(MDeformVert *dvert, float change, char *defbase_sel, int defbase_tot)
+static void multipaint_selection(MDeformVert *dvert, float change, const char *defbase_sel, int defbase_tot)
{
int i;
MDeformWeight *dw;
@@ -1274,11 +1274,11 @@
/* left overs */
return totchange;
}
-static float get_mp_change(MDeformVert *odv, char *defbase_sel, float brush_change);
+static float get_mp_change(MDeformVert *odv, const char *defbase_sel, float brush_change);
/* observe the changes made to the weights of groups.
* make sure all locked groups on the vertex have the same deformation
* by moving the changes made to groups onto other unlocked groups */
-static void enforce_locks(MDeformVert *odv, MDeformVert *ndv, int defbase_tot, char *defbase_sel,
+static void enforce_locks(MDeformVert *odv, MDeformVert *ndv, int defbase_tot, const char *defbase_sel,
const char *lock_flags, const char *vgroup_validmap, char do_auto_normalize, char do_multipaint)
{
float totchange = 0.0f;
@@ -1389,7 +1389,7 @@
}
/* multi-paint's initial, potential change is computed here based on the user's stroke */
-static float get_mp_change(MDeformVert *odv, char *defbase_sel, float brush_change)
+static float get_mp_change(MDeformVert *odv, const char *defbase_sel, float brush_change)
{
float selwsum = 0.0f;
unsigned int i;
@@ -1443,12 +1443,12 @@
int vgroup_mirror; /* mirror group or -1 */
- char *lock_flags; /* boolean array for locked bones,
- * length of defbase_tot */
- char *defbase_sel; /* boolean array for selected bones,
- * length of defbase_tot */
+ const char *lock_flags; /* boolean array for locked bones,
+ * length of defbase_tot */
+ const char *defbase_sel; /* boolean array for selected bones,
+ * length of defbase_tot, cant be const because of how its passed */
- char *vgroup_validmap; /* same as WeightPaintData.vgroup_validmap,
+ const char *vgroup_validmap; /* same as WeightPaintData.vgroup_validmap,
* only added here for convenience */
char do_flip;
@@ -1514,7 +1514,7 @@
/* within the current dvert index, get the dw that is selected and has a weight
* above 0, this helps multi-paint */
-static int get_first_selected_nonzero_weight(MDeformVert *dvert, char *defbase_sel)
+static int get_first_selected_nonzero_weight(MDeformVert *dvert, const char *defbase_sel)
{
int i;
MDeformWeight *dw= dvert->dw;
@@ -1767,8 +1767,8 @@
float wpimat[3][3];
/*variables for auto normalize*/
- char *vgroup_validmap; /*stores if vgroups tie to deforming bones or not*/
- char *lock_flags;
+ const char *vgroup_validmap; /*stores if vgroups tie to deforming bones or not*/
+ const char *lock_flags;
int defbase_tot;
};
@@ -1823,6 +1823,8 @@
vgroup_validmap[i]= (BLI_ghash_lookup(gh, dg->name) != NULL);
}
+ BLI_assert(i == BLI_ghash_size(gh));
+
BLI_ghash_free(gh, NULL, NULL);
return vgroup_validmap;
@@ -1925,6 +1927,7 @@
float alpha;
float mval[2], pressure;
int use_vert_sel;
+ char *defbase_sel;
/* intentionally dont initialize as NULL, make sure we initialize all members below */
WeightPaintInfo wpi;
@@ -1956,9 +1959,11 @@
/* *** setup WeightPaintInfo - pass onto do_weight_paint_vertex *** */
wpi.defbase_tot= wpd->defbase_tot;
- wpi.defbase_sel= MEM_mallocN(wpi.defbase_tot*sizeof(char), "wpi.defbase_sel");
- wpi.defbase_tot_sel= get_selected_defgroups(ob, wpi.defbase_sel, wpi.defbase_tot);
+ defbase_sel= MEM_mallocN(wpi.defbase_tot*sizeof(char), "wpi.defbase_sel");
+ wpi.defbase_tot_sel= get_selected_defgroups(ob, defbase_sel, wpi.defbase_tot);
+ wpi.defbase_sel= defbase_sel; /* so we can stay const */
if(wpi.defbase_tot_sel == 0 && ob->actdef > 0) wpi.defbase_tot_sel = 1;
+
wpi.defbase_tot_unsel= wpi.defbase_tot - wpi.defbase_tot_sel;
wpi.vgroup_mirror= wpd->vgroup_mirror;
wpi.lock_flags= wpd->lock_flags;
@@ -2084,7 +2089,7 @@
/* *** free wpi members */
- MEM_freeN(wpi.defbase_sel);
+ MEM_freeN((void *)wpi.defbase_sel);
/* *** dont freeing wpi members */
@@ -2106,9 +2111,9 @@
MEM_freeN(wpd->indexar);
if (wpd->vgroup_validmap)
- MEM_freeN(wpd->vgroup_validmap);
+ MEM_freeN((void *)wpd->vgroup_validmap);
if(wpd->lock_flags)
- MEM_freeN(wpd->lock_flags);
+ MEM_freeN((void *)wpd->lock_flags);
MEM_freeN(wpd);
}
More information about the Bf-blender-cvs
mailing list