[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42423] branches/bmesh/blender: svn merge ^/trunk/blender -r42416:42422

Campbell Barton ideasman42 at gmail.com
Sun Dec 4 21:05:57 CET 2011


Revision: 42423
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42423
Author:   campbellbarton
Date:     2011-12-04 20:05:50 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42416:42422

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42416

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
    branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
    branches/bmesh/blender/source/blender/blenloader/intern/readfile.c
    branches/bmesh/blender/source/blender/blenloader/intern/writefile.c
    branches/bmesh/blender/source/blender/editors/interface/interface_draw.c
    branches/bmesh/blender/source/blender/editors/object/object_edit.c
    branches/bmesh/blender/source/blender/editors/object/object_modifier.c
    branches/bmesh/blender/source/blender/makesdna/DNA_mesh_types.h
    branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h

Property Changed:
----------------
    branches/bmesh/blender/
    branches/bmesh/blender/release/
    branches/bmesh/blender/source/blender/editors/space_outliner/


Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379
/trunk/blender:39992-42416
   + /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379
/trunk/blender:39992-42422


Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/release:31524-42416
   + /trunk/blender/release:31524-42422

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h	2011-12-04 20:05:50 UTC (rev 42423)
@@ -174,12 +174,6 @@
 void create_vert_edge_map(ListBase **map, IndexNode **mem, const struct MEdge *medge,
                           const int totvert, const int totedge);
 
-/* Partial Mesh Visibility */
-struct PartialVisibility *mesh_pmv_copy(struct PartialVisibility *);
-void mesh_pmv_free(struct PartialVisibility *);
-void mesh_pmv_revert(struct Mesh *me);
-void mesh_pmv_off(struct Mesh *me);
-
 /* functions for making menu's from customdata layers */
 int mesh_layers_menu_charlen(struct CustomData *data, int type); /* use this to work out how many chars to allocate */
 void mesh_layers_menu_concat(struct CustomData *data, int type, char *str);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c	2011-12-04 20:05:50 UTC (rev 42423)
@@ -387,24 +387,12 @@
 	if(me->texcomesh) me->texcomesh= NULL;
 }
 
-
 /* do not free mesh itself */
 void free_mesh(Mesh *me, int unlink)
 {
 	if (unlink)
 		unlink_mesh(me);
 
-	if(me->pv) {
-		if(me->pv->vert_map) MEM_freeN(me->pv->vert_map);
-		if(me->pv->edge_map) MEM_freeN(me->pv->edge_map);
-		if(me->pv->old_faces) MEM_freeN(me->pv->old_faces);
-		if(me->pv->old_edges) MEM_freeN(me->pv->old_edges);
-		me->totvert= me->pv->totvert;
-		me->totedge= me->pv->totedge;
-		me->totface= me->pv->totface;
-		MEM_freeN(me->pv);
-	}
-
 	CustomData_free(&me->vdata, me->totvert);
 	CustomData_free(&me->edata, me->totedge);
 	CustomData_free(&me->fdata, me->totface);
@@ -520,7 +508,6 @@
 
 	men->mselect= NULL;
 	men->edit_btmesh= NULL;
-	men->pv= NULL; /* looks like this is no-longer supported but NULL just incase */
 
 	men->bb= MEM_dupallocN(men->bb);
 	
@@ -2109,72 +2096,6 @@
 	}
 }
 
-/* Partial Mesh Visibility */
-PartialVisibility *mesh_pmv_copy(PartialVisibility *pmv)
-{
-	PartialVisibility *n= MEM_dupallocN(pmv);
-	n->vert_map= MEM_dupallocN(pmv->vert_map);
-	n->edge_map= MEM_dupallocN(pmv->edge_map);
-	n->old_edges= MEM_dupallocN(pmv->old_edges);
-	n->old_faces= MEM_dupallocN(pmv->old_faces);
-	return n;
-}
-
-void mesh_pmv_free(PartialVisibility *pv)
-{
-	MEM_freeN(pv->vert_map);
-	MEM_freeN(pv->edge_map);
-	MEM_freeN(pv->old_faces);
-	MEM_freeN(pv->old_edges);
-	MEM_freeN(pv);
-}
-
-void mesh_pmv_revert(Mesh *me)
-{
-	if(me->pv) {
-		unsigned i;
-		MVert *nve, *old_verts;
-		
-		/* Reorder vertices */
-		nve= me->mvert;
-		old_verts = MEM_mallocN(sizeof(MVert)*me->pv->totvert,"PMV revert verts");
-		for(i=0; i<me->pv->totvert; ++i)
-			old_verts[i]= nve[me->pv->vert_map[i]];
-
-		/* Restore verts, edges and faces */
-		CustomData_free_layer_active(&me->vdata, CD_MVERT, me->totvert);
-		CustomData_free_layer_active(&me->edata, CD_MEDGE, me->totedge);
-		CustomData_free_layer_active(&me->fdata, CD_MFACE, me->totface);
-
-		CustomData_add_layer(&me->vdata, CD_MVERT, CD_ASSIGN, old_verts, me->pv->totvert);
-		CustomData_add_layer(&me->edata, CD_MEDGE, CD_ASSIGN, me->pv->old_edges, me->pv->totedge);
-		CustomData_add_layer(&me->fdata, CD_MFACE, CD_ASSIGN, me->pv->old_faces, me->pv->totface);
-		mesh_update_customdata_pointers(me);
-
-		me->totvert= me->pv->totvert;
-		me->totedge= me->pv->totedge;
-		me->totface= me->pv->totface;
-
-		me->pv->old_edges= NULL;
-		me->pv->old_faces= NULL;
-
-		/* Free maps */
-		MEM_freeN(me->pv->edge_map);
-		me->pv->edge_map= NULL;
-		MEM_freeN(me->pv->vert_map);
-		me->pv->vert_map= NULL;
-	}
-}
-
-void mesh_pmv_off(Mesh *me)
-{
-	if(me->pv) {
-		mesh_pmv_revert(me);
-		MEM_freeN(me->pv);
-		me->pv= NULL;
-	}
-}
-
 void mesh_loops_to_tri_corners(CustomData *fdata, CustomData *ldata, 
 			   CustomData *pdata, int lindex[3], int findex, 
 			   int polyindex) 

Modified: branches/bmesh/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/bmesh/blender/source/blender/blenloader/intern/readfile.c	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/blenloader/intern/readfile.c	2011-12-04 20:05:50 UTC (rev 42423)
@@ -3798,22 +3798,13 @@
 	mesh->adt= newdataadr(fd, mesh->adt);
 	direct_link_animdata(fd, mesh->adt);
 
-	/* Partial-mesh visibility (do this before using totvert, totface, or totedge!) */
-	mesh->pv= newdataadr(fd, mesh->pv);
-	if(mesh->pv) {
-		mesh->pv->vert_map= newdataadr(fd, mesh->pv->vert_map);
-		mesh->pv->edge_map= newdataadr(fd, mesh->pv->edge_map);
-		mesh->pv->old_faces= newdataadr(fd, mesh->pv->old_faces);
-		mesh->pv->old_edges= newdataadr(fd, mesh->pv->old_edges);
-	}
-
 	/* normally direct_link_dverts should be called in direct_link_customdata,
 	   but for backwards compat in do_versions to work we do it here */
-	direct_link_dverts(fd, mesh->pv ? mesh->pv->totvert : mesh->totvert, mesh->dvert);
+	direct_link_dverts(fd, mesh->totvert, mesh->dvert);
 
-	direct_link_customdata(fd, &mesh->vdata, mesh->pv ? mesh->pv->totvert : mesh->totvert);
-	direct_link_customdata(fd, &mesh->edata, mesh->pv ? mesh->pv->totedge : mesh->totedge);
-	direct_link_customdata(fd, &mesh->fdata, mesh->pv ? mesh->pv->totface : mesh->totface);
+	direct_link_customdata(fd, &mesh->vdata, mesh->totvert);
+	direct_link_customdata(fd, &mesh->edata, mesh->totedge);
+	direct_link_customdata(fd, &mesh->fdata, mesh->totface);
 	direct_link_customdata(fd, &mesh->ldata, mesh->totloop);
 	direct_link_customdata(fd, &mesh->pdata, mesh->totpoly);
 	
@@ -3869,7 +3860,7 @@
 		TFace *tf= mesh->tface;
 		unsigned int i;
 
-		for (i=0; i< (mesh->pv ? mesh->pv->totface : mesh->totface); i++, tf++) {
+		for (i=0; i< (mesh->totface); i++, tf++) {
 			SWITCH_INT(tf->col[0]);
 			SWITCH_INT(tf->col[1]);
 			SWITCH_INT(tf->col[2]);

Modified: branches/bmesh/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/bmesh/blender/source/blender/blenloader/intern/writefile.c	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/blenloader/intern/writefile.c	2011-12-04 20:05:50 UTC (rev 42423)
@@ -1691,30 +1691,11 @@
 
 			writedata(wd, DATA, sizeof(void *)*mesh->totcol, mesh->mat);
 
-			if(mesh->pv) {
-				write_customdata(wd, &mesh->id, mesh->pv->totvert, &mesh->vdata, -1, 0);
-				write_customdata(wd, &mesh->id, mesh->pv->totedge, &mesh->edata,
-					CD_MEDGE, mesh->totedge);
-				/* BMESH_TODO: probably need to deal with polys here */
-				write_customdata(wd, &mesh->id, mesh->pv->totface, &mesh->fdata,
-					CD_MFACE, mesh->totface);
-			}
-			else {
-				write_customdata(wd, &mesh->id, mesh->totvert, &mesh->vdata, -1, 0);
-				write_customdata(wd, &mesh->id, mesh->totedge, &mesh->edata, -1, 0);
-				write_customdata(wd, &mesh->id, mesh->totface, &mesh->fdata, -1, 0);
-				write_customdata(wd, &mesh->id, mesh->totloop, &mesh->ldata, -1, 0);
-				write_customdata(wd, &mesh->id, mesh->totpoly, &mesh->pdata, -1, 0);
-			}
-
-			/* PMV data */
-			if(mesh->pv) {
-				writestruct(wd, DATA, "PartialVisibility", 1, mesh->pv);
-				writedata(wd, DATA, sizeof(unsigned int)*mesh->pv->totvert, mesh->pv->vert_map);
-				writedata(wd, DATA, sizeof(int)*mesh->pv->totedge, mesh->pv->edge_map);
-				writestruct(wd, DATA, "MFace", mesh->pv->totface, mesh->pv->old_faces);
-				writestruct(wd, DATA, "MEdge", mesh->pv->totedge, mesh->pv->old_edges);
-			}
+			write_customdata(wd, &mesh->id, mesh->totvert, &mesh->vdata, -1, 0);
+			write_customdata(wd, &mesh->id, mesh->totedge, &mesh->edata, -1, 0);
+			write_customdata(wd, &mesh->id, mesh->totface, &mesh->fdata, -1, 0);
+			write_customdata(wd, &mesh->id, mesh->totloop, &mesh->ldata, -1, 0);
+			write_customdata(wd, &mesh->id, mesh->totpoly, &mesh->pdata, -1, 0);
 		}
 		mesh= mesh->id.next;
 	}

Modified: branches/bmesh/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/interface/interface_draw.c	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/editors/interface/interface_draw.c	2011-12-04 20:05:50 UTC (rev 42423)
@@ -1475,14 +1475,18 @@
 {
 	ImBuf *scaleibuf;
 	int x, y, w= ibuf->x*zoomx, h= ibuf->y*zoomy;
+	const float scalex= 1.0f/zoomx;
+	const float scaley= 1.0f/zoomy;
+
 	scaleibuf= IMB_allocImBuf(w, h, 32, IB_rect);
 
 	for(y= 0; y<scaleibuf->y; y++) {
 		for (x= 0; x<scaleibuf->x; x++) {
 			int pixel= scaleibuf->x*y + x;
-			int orig_pixel= ibuf->x*(int)(((float)y)/zoomy) + (int)(((float)x)/zoomx);
+			int orig_pixel= ibuf->x*(int)(scaley*(float)y) + (int)(scalex*(float)x);
 			char *rrgb= (char*)scaleibuf->rect + pixel*4;
 			char *orig_rrgb= (char*)ibuf->rect + orig_pixel*4;
+
 			rrgb[0]= orig_rrgb[0];
 			rrgb[1]= orig_rrgb[1];
 			rrgb[2]= orig_rrgb[2];

Modified: branches/bmesh/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/object/object_edit.c	2011-12-04 19:49:35 UTC (rev 42422)
+++ branches/bmesh/blender/source/blender/editors/object/object_edit.c	2011-12-04 20:05:50 UTC (rev 42423)
@@ -440,9 +440,6 @@
 	ob->mode= OB_MODE_EDIT;
 	
 	if(ob->type==OB_MESH) {
-		Mesh *me= ob->data;
-		
-		if(me->pv) mesh_pmv_off(me);
 		ok= 1;
 		scene->obedit= ob;	// context sees this
 		

Modified: branches/bmesh/blender/source/blender/editors/object/object_modifier.c

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list