[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