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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-02-12 23:11:09 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-12 23:11:09 +0400
commit59d45d0ea6f9449c212c9dcc59573ef0a646545f (patch)
tree5fb4e3805a47191729874e3cbda853bcdaadc9fa /source
parent5b2ea6f8a4c2414042ce7d96be5d42b54c9a8459 (diff)
* remove the MFace parts of join (we only need polygon data)
* other minor cleanups
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/BKE_mesh.h6
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c2
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c2
-rw-r--r--source/blender/blenkernel/intern/mesh.c10
-rw-r--r--source/blender/blenloader/intern/readfile.c2
-rw-r--r--source/blender/bmesh/operators/bmo_mesh_conv.c2
-rw-r--r--source/blender/editors/mesh/mesh_data.c2
-rw-r--r--source/blender/editors/mesh/meshtools.c42
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c6
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_buttons.c29
11 files changed, 34 insertions, 71 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h
index 08916b5a971..c9c37345fe6 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -268,9 +268,9 @@ void BKE_mesh_calc_edges(struct Mesh *mesh, int update);
void BKE_mesh_ensure_navmesh(struct Mesh *me);
-void BKE_mesh_calc_tessface(struct Mesh *mesh);
-void BKE_mesh_ensure_tessface(struct Mesh *mesh);
-void BKE_mesh_clear_tessface(struct Mesh *mesh);
+void BKE_mesh_tessface_calc(struct Mesh *mesh);
+void BKE_mesh_tessface_ensure(struct Mesh *mesh);
+void BKE_mesh_tessface_clear(struct Mesh *mesh);
/*convert a triangle of loop facedata to mface facedata*/
void mesh_loops_to_mface_corners(struct CustomData *fdata, struct CustomData *ldata,
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 0697951cc13..8f9964d0cc3 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -446,7 +446,7 @@ void DM_to_mesh(DerivedMesh *dm, Mesh *me, Object *ob)
/* yes, must be before _and_ after tesselate */
mesh_update_customdata_pointers(&tmp, TRUE);
- BKE_mesh_calc_tessface(&tmp);
+ BKE_mesh_tessface_calc(&tmp);
CustomData_free(&me->vdata, me->totvert);
CustomData_free(&me->edata, me->totedge);
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 97340ff8572..2be23e1f182 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -232,7 +232,7 @@ static ListBase *cdDM_getFaceMap(Object *ob, DerivedMesh *dm)
Mesh *me= ob->data;
create_vert_face_map(&cddm->fmap, &cddm->fmap_mem, me->mface,
- me->totvert, me->totface);
+ me->totvert, me->totface);
}
return cddm->fmap;
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 4e0dc41e9a0..4a4f5fa700e 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -315,7 +315,7 @@ static void mesh_ensure_tesselation_customdata(Mesh *me)
if (tottex_tessface != tottex_original ||
totcol_tessface != totcol_original )
{
- BKE_mesh_clear_tessface(me);
+ BKE_mesh_tessface_clear(me);
CustomData_from_bmeshpoly(&me->fdata, &me->pdata, &me->ldata, me->totface);
@@ -2949,7 +2949,7 @@ void BKE_mesh_ensure_navmesh(Mesh *me)
}
}
-void BKE_mesh_calc_tessface(Mesh *mesh)
+void BKE_mesh_tessface_calc(Mesh *mesh)
{
mesh->totface = mesh_recalcTesselation(&mesh->fdata, &mesh->ldata, &mesh->pdata,
mesh->mvert,
@@ -2960,14 +2960,14 @@ void BKE_mesh_calc_tessface(Mesh *mesh)
mesh_update_customdata_pointers(mesh, TRUE);
}
-void BKE_mesh_ensure_tessface(Mesh *mesh)
+void BKE_mesh_tessface_ensure(Mesh *mesh)
{
if (mesh->totpoly && mesh->totface == 0) {
- BKE_mesh_calc_tessface(mesh);
+ BKE_mesh_tessface_calc(mesh);
}
}
-void BKE_mesh_clear_tessface(Mesh *mesh)
+void BKE_mesh_tessface_clear(Mesh *mesh)
{
CustomData_free(&mesh->fdata, mesh->totface);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 5faa6a8776b..cee6e50ba5f 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3703,7 +3703,7 @@ static void lib_link_mesh(FileData *fd, Main *main)
* waiting until edit mode has been entered/exited, making it easier
* to recognize problems that would otherwise only show up after edits).
*/
- BKE_mesh_calc_tessface(me);
+ BKE_mesh_tessface_calc(me);
me->id.flag -= LIB_NEEDLINK;
}
diff --git a/source/blender/bmesh/operators/bmo_mesh_conv.c b/source/blender/bmesh/operators/bmo_mesh_conv.c
index ded3b698c77..782cbf66aa8 100644
--- a/source/blender/bmesh/operators/bmo_mesh_conv.c
+++ b/source/blender/bmesh/operators/bmo_mesh_conv.c
@@ -647,7 +647,7 @@ void bmesh_to_mesh_exec(BMesh *bm, BMOperator *op)
}
if (dotess) {
- BKE_mesh_calc_tessface(me);
+ BKE_mesh_tessface_calc(me);
}
mesh_update_customdata_pointers(me, dotess);
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index e818f8aad93..f3a2f8641d6 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -759,7 +759,7 @@ void ED_mesh_update(Mesh *mesh, bContext *C, int calc_edges)
BKE_mesh_calc_edges(mesh, calc_edges);
/* TODO, make this optional, we dont always want this! */
- BKE_mesh_calc_tessface(mesh);
+ BKE_mesh_tessface_calc(mesh);
polyindex = CustomData_get_layer(&mesh->fdata, CD_POLYINDEX);
/* add a normals layer for tesselated faces, a tessface normal will
diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c
index 2b3be42ac67..db4fa297eb6 100644
--- a/source/blender/editors/mesh/meshtools.c
+++ b/source/blender/editors/mesh/meshtools.c
@@ -98,15 +98,14 @@ int join_mesh_exec(bContext *C, wmOperator *op)
Mesh *me;
MVert *mvert, *mv;
MEdge *medge = NULL;
- MFace *mface = NULL;
MPoly *mpoly = NULL;
MLoop *mloop = NULL;
Key *key, *nkey=NULL;
KeyBlock *kb, *okb, *kbn;
float imat[4][4], cmat[4][4], *fp1, *fp2, curpos;
- int a, b, totcol, totmat=0, totedge=0, totvert=0, totface=0, ok=0;
+ int a, b, totcol, totmat=0, totedge=0, totvert=0, ok=0;
int totloop=0, totpoly=0, vertofs, *matmap=NULL;
- int i, j, index, haskey=0, edgeofs, faceofs, loopofs, polyofs;
+ int i, j, index, haskey=0, edgeofs, loopofs, polyofs;
bDeformGroup *dg, *odg;
MDeformVert *dvert;
CustomData vdata, edata, fdata, ldata, pdata;
@@ -129,7 +128,6 @@ int join_mesh_exec(bContext *C, wmOperator *op)
totvert+= me->totvert;
totedge+= me->totedge;
- totface+= me->totface;
totloop+= me->totloop;
totpoly+= me->totpoly;
totmat+= base->object->totcol;
@@ -290,13 +288,11 @@ int join_mesh_exec(bContext *C, wmOperator *op)
mvert= CustomData_add_layer(&vdata, CD_MVERT, CD_CALLOC, NULL, totvert);
medge= CustomData_add_layer(&edata, CD_MEDGE, CD_CALLOC, NULL, totedge);
- mface= CustomData_add_layer(&fdata, CD_MFACE, CD_CALLOC, NULL, totface);
mloop= CustomData_add_layer(&ldata, CD_MLOOP, CD_CALLOC, NULL, totloop);
mpoly= CustomData_add_layer(&pdata, CD_MPOLY, CD_CALLOC, NULL, totpoly);
vertofs= 0;
edgeofs= 0;
- faceofs= 0;
loopofs= 0;
polyofs= 0;
@@ -409,37 +405,6 @@ int join_mesh_exec(bContext *C, wmOperator *op)
mvert+= me->totvert;
}
- if(me->totface) {
- /* make mapping for materials */
- for(a=1; a<=base->object->totcol; a++) {
- ma= give_current_material(base->object, a);
-
- for(b=0; b<totcol; b++) {
- if(ma == matar[b]) {
- matmap[a-1]= b;
- break;
- }
- }
- }
-
- CustomData_merge(&me->fdata, &fdata, CD_MASK_MESH, CD_DEFAULT, totface);
- CustomData_copy_data(&me->fdata, &fdata, 0, faceofs, me->totface);
-
- for(a=0; a<me->totface; a++, mface++) {
- mface->v1+= vertofs;
- mface->v2+= vertofs;
- mface->v3+= vertofs;
- if(mface->v4) mface->v4+= vertofs;
-
- if (matmap)
- mface->mat_nr= matmap[(int)mface->mat_nr];
- else
- mface->mat_nr= 0;
- }
-
- faceofs += me->totface;
- }
-
if(me->totedge) {
CustomData_merge(&me->edata, &edata, CD_MASK_MESH, CD_DEFAULT, totedge);
CustomData_copy_data(&me->edata, &edata, 0, edgeofs, me->totedge);
@@ -506,19 +471,16 @@ int join_mesh_exec(bContext *C, wmOperator *op)
CustomData_free(&me->vdata, me->totvert);
CustomData_free(&me->edata, me->totedge);
- CustomData_free(&me->fdata, me->totface);
CustomData_free(&me->ldata, me->totloop);
CustomData_free(&me->pdata, me->totpoly);
me->totvert= totvert;
me->totedge= totedge;
- me->totface= totface;
me->totloop= totloop;
me->totpoly= totpoly;
me->vdata= vdata;
me->edata= edata;
- me->fdata= fdata;
me->ldata= ldata;
me->pdata= pdata;
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index 112724ff80b..4ce304a62c4 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -375,13 +375,13 @@ static void make_vertexcol(Object *ob) /* single ob */
}
/* create tessfaces because they will be used for drawing & fast updates*/
- BKE_mesh_calc_tessface(me); /* does own call to update pointers */
+ BKE_mesh_tessface_calc(me); /* does own call to update pointers */
}
}
else {
if (me->totface) {
/* this wont be used, theres no need to keep it */
- BKE_mesh_clear_tessface(me);
+ BKE_mesh_tessface_clear(me);
}
}
@@ -489,7 +489,7 @@ void vpaint_fill(Object *ob, unsigned int paintcol)
}
/* remove stale me->mcol, will be added later */
- BKE_mesh_clear_tessface(me);
+ BKE_mesh_tessface_clear(me);
DAG_id_tag_update(&me->id, 0);
}
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index b813f71d7b8..2bff8476ea9 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -2724,7 +2724,7 @@ void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_
}
/* BMESH ONLY --- at some point we should move sculpt code to use polygons only - but for now it needs tessfaces */
- BKE_mesh_ensure_tessface(ob->data);
+ BKE_mesh_tessface_ensure(ob->data);
ss->pbvh = dm->getPBVH(ob, dm);
ss->pmap = (need_pmap && dm->getPolyMap)? dm->getPolyMap(ob, dm): NULL;
diff --git a/source/blender/editors/space_view3d/view3d_buttons.c b/source/blender/editors/space_view3d/view3d_buttons.c
index 44bc96cdb89..98301e63705 100644
--- a/source/blender/editors/space_view3d/view3d_buttons.c
+++ b/source/blender/editors/space_view3d/view3d_buttons.c
@@ -183,7 +183,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
/* check for defgroups */
if(evedef)
- dvert= CustomData_bmesh_get(&em->bm->vdata, evedef->head.data, CD_MDEFORMVERT);
+ dvert= CustomData_bmesh_get(&bm->vdata, evedef->head.data, CD_MDEFORMVERT);
if(tot==1 && dvert && dvert->totweight) {
bDeformGroup *dg;
int i, max=1, init=1;
@@ -413,12 +413,13 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
if(ob->type==OB_MESH) {
Mesh *me= ob->data;
BMEditMesh *em = me->edit_btmesh;
+ BMesh *bm = em->bm;
BMVert *eve;
BMIter iter;
if(len_v3(median) > 0.000001f) {
- BM_ITER(eve, &iter, em->bm, BM_VERTS_OF_MESH, NULL) {
+ BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
if(BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
add_v3_v3(eve->co, median);
}
@@ -434,9 +435,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
if(fixed_crease != FLT_MAX) {
/* simple case */
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
- float *crease = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_CREASE);
+ float *crease = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_CREASE);
if (!crease) break;
*crease= fixed_crease;
@@ -456,9 +457,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
/* scale down */
const float sca= median_new / median_orig;
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT) && !BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
- float *crease = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_CREASE);
+ float *crease = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_CREASE);
if (!crease) break;
@@ -471,9 +472,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
/* scale up */
const float sca= (1.0f - median_new) / (1.0f - median_orig);
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT) && !BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
- float *crease = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_CREASE);
+ float *crease = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_CREASE);
if (!crease) break;
*crease = 1.0f - ((1.0f - *crease) * sca);
@@ -491,9 +492,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
if(fixed_bweight != FLT_MAX) {
/* simple case */
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
- float *bweight = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_BWEIGHT);
+ float *bweight = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_BWEIGHT);
if(!bweight) break;
*bweight = fixed_bweight;
@@ -513,9 +514,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
/* scale down */
const float sca = median_new / median_orig;
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT) && !BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
- float *bweight = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_BWEIGHT);
+ float *bweight = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_BWEIGHT);
if(!bweight) break;
*bweight *= sca;
@@ -527,9 +528,9 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
/* scale up */
const float sca = (1.0f - median_new) / (1.0f - median_orig);
- BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
+ BM_ITER(eed, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if(BM_elem_flag_test(eed, BM_ELEM_SELECT) && !BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
- float *bweight = (float *)CustomData_bmesh_get(&em->bm->edata, eed->head.data, CD_BWEIGHT);
+ float *bweight = (float *)CustomData_bmesh_get(&bm->edata, eed->head.data, CD_BWEIGHT);
if(!bweight) break;
*bweight = 1.0f - ((1.0f - *bweight) * sca);