[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34573] trunk/blender/source/blender: Total displacement levels should be set in multires_topology_changed

Sergey Sharybin g.ulairi at gmail.com
Sun Jan 30 18:55:48 CET 2011


Revision: 34573
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34573
Author:   nazgul
Date:     2011-01-30 17:55:48 +0000 (Sun, 30 Jan 2011)
Log Message:
-----------
Total displacement levels should be set in multires_topology_changed

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_multires.h
    trunk/blender/source/blender/blenkernel/intern/multires.c
    trunk/blender/source/blender/editors/mesh/editmesh.c

Modified: trunk/blender/source/blender/blenkernel/BKE_multires.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_multires.h	2011-01-30 17:03:01 UTC (rev 34572)
+++ trunk/blender/source/blender/blenkernel/BKE_multires.h	2011-01-30 17:55:48 UTC (rev 34573)
@@ -80,7 +80,7 @@
 void multires_mdisp_smooth_bounds(struct MDisps *disps);
 
 /* update multires data after topology changing */
-void multires_topology_changed(struct Object *ob);
+void multires_topology_changed(struct Scene *scene, struct Object *ob);
 
 /**** interpolation stuff ****/
 void old_mdisps_bilinear(float out[3], float (*disps)[3], int st, float u, float v);

Modified: trunk/blender/source/blender/blenkernel/intern/multires.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/multires.c	2011-01-30 17:03:01 UTC (rev 34572)
+++ trunk/blender/source/blender/blenkernel/intern/multires.c	2011-01-30 17:55:48 UTC (rev 34573)
@@ -1720,12 +1720,16 @@
 }
 
 /* update multires data after topology changing */
-void multires_topology_changed(Object *ob)
+void multires_topology_changed(Scene *scene, Object *ob)
 {
 	Mesh *me= (Mesh*)ob->data;
 	MDisps *mdisp= NULL, *cur= NULL;
 	int i, grid= 0, corners;
+	MultiresModifierData *mmd= get_multires_modifier(scene, ob);
 
+	if(mmd)
+		multires_set_tot_mdisps(me, mmd->totlvl);
+
 	CustomData_external_read(&me->fdata, &me->id, CD_MASK_MDISPS, me->totface);
 	mdisp= CustomData_get_layer(&me->fdata, CD_MDISPS);
 

Modified: trunk/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh.c	2011-01-30 17:03:01 UTC (rev 34572)
+++ trunk/blender/source/blender/editors/mesh/editmesh.c	2011-01-30 17:55:48 UTC (rev 34573)
@@ -1311,7 +1311,7 @@
 	mesh_calc_normals(me->mvert, me->totvert, me->mface, me->totface, NULL);
 
 	/* topology could be changed, ensure mdisps are ok */
-	multires_topology_changed(obedit);
+	multires_topology_changed(scene, obedit);
 }
 
 void remake_editMesh(Scene *scene, Object *ob)




More information about the Bf-blender-cvs mailing list