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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to