[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15419] branches/soc-2008-nicholasbishop/ source/blender: Force an update of mesh disps before subdividing
Nicholas Bishop
nicholasbishop at gmail.com
Thu Jul 3 22:17:25 CEST 2008
Revision: 15419
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15419
Author: nicholasbishop
Date: 2008-07-03 22:16:24 +0200 (Thu, 03 Jul 2008)
Log Message:
-----------
Force an update of mesh disps before subdividing
Modified Paths:
--------------
branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h
branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c
branches/soc-2008-nicholasbishop/source/blender/src/buttons_editing.c
Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h 2008-07-03 19:10:54 UTC (rev 15418)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/BKE_multires.h 2008-07-03 20:16:24 UTC (rev 15419)
@@ -119,7 +119,7 @@
struct DerivedMesh *multires_dm_create_from_derived(struct MultiresModifierData*, struct DerivedMesh*, int, int);
-void multiresModifier_subdivide(struct MultiresModifierData *mmd, struct Mesh *me);
+void multiresModifier_subdivide(struct MultiresModifierData *mmd, struct Object *ob);
void multiresModifier_setLevel(void *mmd_v, void *ob_v);
void multires_displacer_init(MultiresDisplacer *d, struct DerivedMesh *dm,
Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c 2008-07-03 19:10:54 UTC (rev 15418)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/multires.c 2008-07-03 20:16:24 UTC (rev 15419)
@@ -1384,8 +1384,9 @@
calc_face_ts_mat(out, orco[f->v1], orco[f->v2], orco[f->v3], (f->v4 ? orco[f->v4] : NULL));
}
-void multiresModifier_subdivide(MultiresModifierData *mmd, Mesh *me)
+void multiresModifier_subdivide(MultiresModifierData *mmd, Object *ob)
{
+ Mesh *me = get_mesh(ob);
MDisps *mdisps;
int i;
@@ -1394,6 +1395,8 @@
return;
}
+ multires_force_update(ob);
+
++mmd->lvl;
++mmd->totlvl;
@@ -1706,7 +1709,7 @@
{
if(ob->derivedFinal) {
ob->derivedFinal->needsFree =1;
- ob->derivedFinal->release(G.obedit->derivedFinal);
+ ob->derivedFinal->release(ob->derivedFinal);
ob->derivedFinal = NULL;
}
}
Modified: branches/soc-2008-nicholasbishop/source/blender/src/buttons_editing.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/src/buttons_editing.c 2008-07-03 19:10:54 UTC (rev 15418)
+++ branches/soc-2008-nicholasbishop/source/blender/src/buttons_editing.c 2008-07-03 20:16:24 UTC (rev 15419)
@@ -1660,10 +1660,9 @@
static void multiresModifier_subdivide_button(void *mmd_v, void *ob_v)
{
MultiresModifierData *mmd = mmd_v;
- Mesh *me = get_mesh(ob_v);
- if(mmd && me) {
- multiresModifier_subdivide(mmd, me);
+ if(mmd && ob_v) {
+ multiresModifier_subdivide(mmd, ob_v);
BIF_undo_push("Multires subdivide");
}
}
More information about the Bf-blender-cvs
mailing list