Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2007-01-11 10:01:30 +0300
committerNicholas Bishop <nicholasbishop@gmail.com>2007-01-11 10:01:30 +0300
commit7e221c248c48f58ec309c27e1e6340c23d52c0d9 (patch)
tree1555f8d441c03f0c2341505435048569216a8150 /source/blender/src/multires.c
parent34c11de62a1f2c53fecf61b5e41be435d5a88232 (diff)
Further cleanups for multires' firstlevel data (both weights and UVs.)
Diffstat (limited to 'source/blender/src/multires.c')
-rw-r--r--source/blender/src/multires.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/source/blender/src/multires.c b/source/blender/src/multires.c
index 50cddd11055..032d7234e32 100644
--- a/source/blender/src/multires.c
+++ b/source/blender/src/multires.c
@@ -28,7 +28,7 @@
*
* Implements the multiresolution modeling tools.
*
- * BIF_multires.h
+ * multires.h
*
*/
@@ -561,7 +561,7 @@ void multires_make(void *ob, void *me_v)
lvl->totvert= em ? BLI_countlist(&em->verts) : me->totvert;
lvl->verts= MEM_callocN(sizeof(MVert)*lvl->totvert,"multires verts");
multires_update_customdata(me->mr->levels.first, em ? &em->vdata : &me->vdata,
- &me->mr->vdata, FirstLevelType_Vert);
+ &me->mr->vdata, CD_MDEFORMVERT);
if(em) eve= em->verts.first;
for(i=0; i<lvl->totvert; ++i) {
multires_get_vert(&lvl->verts[i], eve, &me->mvert[i], i);
@@ -572,7 +572,7 @@ void multires_make(void *ob, void *me_v)
lvl->totface= em ? BLI_countlist(&em->faces) : me->totface;
lvl->faces= MEM_callocN(sizeof(MultiresFace)*lvl->totface,"multires faces");
multires_update_customdata(me->mr->levels.first, em ? &em->fdata : &me->fdata,
- &me->mr->fdata, FirstLevelType_Face);
+ &me->mr->fdata, CD_MTFACE);
if(em) efa= em->faces.first;
for(i=0; i<lvl->totface; ++i) {
multires_get_face(&lvl->faces[i], efa, &me->mface[i]);
@@ -1007,7 +1007,8 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
free_edgelist(&em->edges);
free_facelist(&em->faces);
- EM_free_data_layer(&G.editMesh->vdata, CD_MDEFORMVERT);
+ CustomData_free(&G.editMesh->vdata, 0);
+ CustomData_free(&G.editMesh->fdata, 0);
eves= MEM_callocN(sizeof(EditVert)*lvl->totvert, "editvert pointers");
} else {
@@ -1035,6 +1036,7 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
eves[i]= addvertlist(lvl->verts[i].co, NULL); /* TODO */
if(lvl->verts[i].flag & 1) eves[i]->f |= SELECT;
if(lvl->verts[i].flag & ME_HIDE) eves[i]->h= 1;
+ eves[i]->data= NULL;
}
else
me->mvert[i]= lvl->verts[i];
@@ -1055,6 +1057,7 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
eves[lvl->faces[i].v[2]], eve4, NULL, NULL); /* TODO */
efa->flag= lvl->faces[i].flag;
efa->mat_nr= lvl->faces[i].mat_nr;
+ efa->data= NULL;
}
else {
me->mface[i].v1= lvl->faces[i].v[0];
@@ -1094,8 +1097,8 @@ void multires_level_to_mesh(Object *ob, Mesh *me)
}
}
- multires_customdata_to_mesh(me, em, lvl, &me->mr->vdata, em ? &em->vdata : &me->vdata, FirstLevelType_Vert);
- multires_customdata_to_mesh(me, em, lvl, &me->mr->fdata, em ? &em->fdata : &me->fdata, FirstLevelType_Face);
+ multires_customdata_to_mesh(me, em, lvl, &me->mr->vdata, em ? &em->vdata : &me->vdata, CD_MDEFORMVERT);
+ multires_customdata_to_mesh(me, em, lvl, &me->mr->fdata, em ? &em->fdata : &me->fdata, CD_MTFACE);
/* Colors */
if(me->mr->use_col) {
@@ -1280,9 +1283,9 @@ void multires_update_levels(Mesh *me)
/* Update special first-level data */
if(cr_lvl==me->mr->levels.first) {
multires_update_customdata(me->mr->levels.first, em ? &em->vdata : &me->vdata,
- &me->mr->vdata, FirstLevelType_Vert);
+ &me->mr->vdata, CD_MDEFORMVERT);
multires_update_customdata(me->mr->levels.first, em ? &em->fdata : &me->fdata,
- &me->mr->fdata, FirstLevelType_Face);
+ &me->mr->fdata, CD_MTFACE);
multires_update_edge_flags(me->mr, me, em);
}