[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40910] branches/bmesh/blender/source/ blender: Miscellaneous cleanup, comment changes, and asserts.
Andrew Wiggin
ender79bl at gmail.com
Mon Oct 10 16:56:10 CEST 2011
Revision: 40910
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40910
Author: ender79
Date: 2011-10-10 14:56:09 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------
Miscellaneous cleanup, comment changes, and asserts. Should be no functional changes.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/intern/bvhutils.c
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c
branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h
branches/bmesh/blender/source/blender/bmesh/editmesh_tools.c
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/bvhutils.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/bvhutils.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/bvhutils.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -583,9 +583,15 @@
tree = BLI_bvhtree_new(numFaces, epsilon, tree_type, axis);
if(tree != NULL)
{
- /* XXX, for snap only, em & dm are assumed to be aligned, since dm is the em's cage */
BMEditMesh *em= data->em_evil;
if(em) {
+ /*data->em_evil is only set for snapping, and only for the mesh of the object
+ which is currently open in edit mode. When set, the bvhtree should not contain
+ faces that will interfere with snapping (e.g. faces that are hidden/selected
+ or faces that have selected verts).*/
+
+ /* XXX, for snap only, em & dm are assumed to be aligned, since dm is the em's cage */
+
/*Insert BMesh-tesselation triangles into the bvh tree, unless they are hidden
and/or selected. Even if the faces themselves are not selected for the snapped
transform, having a vertex selected means the face (and thus it's tesselated
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -1963,7 +1963,6 @@
med->v1 = BM_GetIndex(eed->v1);
med->v2 = BM_GetIndex(eed->v2);
- med->flag = ME_EDGEDRAW|ME_EDGERENDER;
if (has_crease)
med->crease = (unsigned char)(BM_GetCDf(&bm->edata, eed, CD_CREASE)*255.0f);
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -1228,9 +1228,7 @@
edge_r->crease = (unsigned char) (BM_GetCDf(&bm->edata, e, CD_CREASE)*255.0f);
}
- /* Should this be set in BMFlags_To_MEFlags? */
- edge_r->flag = ME_EDGERENDER;
- edge_r->flag |= BMFlags_To_MEFlags(e);
+ edge_r->flag = BMFlags_To_MEFlags(e);
edge_r->v1 = GET_INT_FROM_POINTER(BLI_ghash_lookup(bmdm->vhash, e->v1));
edge_r->v2 = GET_INT_FROM_POINTER(BLI_ghash_lookup(bmdm->vhash, e->v2));
@@ -1308,9 +1306,7 @@
edge_r->crease = (unsigned char) (BM_GetCDf(&bm->edata, ee, CD_CREASE)*255.0f);
}
- /* Should this be set in BMFlags_To_MEFlags? */
- edge_r->flag = ME_EDGERENDER;
- edge_r->flag |= BMFlags_To_MEFlags(ee);
+ edge_r->flag = BMFlags_To_MEFlags(ee);
edge_r->v1 = (int)BM_GetIndex(ee->v1);
edge_r->v2 = (int)BM_GetIndex(ee->v2);
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -406,7 +406,7 @@
int j;
for (j=0; j < mp->totloop; j++, l++) {
/* lookup hashed edge index */
- med_index = BLI_edgehash_lookup(eh, l_prev->v, l->v);
+ med_index = GET_INT_FROM_POINTER(BLI_edgehash_lookup(eh, l_prev->v, l->v));
l_prev->e = med_index;
l_prev= l;
}
Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h 2011-10-10 14:56:09 UTC (rev 40910)
@@ -38,7 +38,7 @@
void BM_Selectmode_Set(struct BMesh *bm, int selectmode);
/*counts number of elements with flag set*/
-int BM_CountFlag(struct BMesh *bm, int type, int flag, int respectflag);
+int BM_CountFlag(struct BMesh *bm, int type, int flag, int respecthide);
/*edit selection stuff*/
void BM_set_actFace(BMesh *em, BMFace *f);
Modified: branches/bmesh/blender/source/blender/bmesh/editmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/editmesh_tools.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/bmesh/editmesh_tools.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -2418,46 +2418,9 @@
return ev;
}
-#if 1
-#include "bmesh.h"
-
void esubdivideflag(int flag, float rad, int beauty, int numcuts, int seltype)
{
- BMesh *bm;
- BMOperator subdop, conv;
EditMesh *em = G.editMesh;
- BMEdge **list, *bed;
- BMIter iter;
- int tot;
-
- /*convert from editmesh*/
- bm = editmesh_to_bmesh(G.editMesh);
-
- BMO_Init_Op(&subdop, BMOP_ESUBDIVIDE);
- for (tot=0, bed=BMIter_New(&iter, bm, BM_EDGES, NULL); bed; bed=BMIter_Step(&iter)) {
- if (BM_Selected(bm, bed)) tot++;
- }
-
- list = MEM_callocN(sizeof(void*)*tot, "vert ptr list");
-
- for (tot=0, bed=BMIter_New(&iter, bm, BM_EDGES, NULL); bed; bed=BMIter_Step(&iter)) {
- if (BM_Selected(bm, bed)) list[tot++] = bed;
- }
-
- BMO_Set_PntBuf(&subdop, BMOP_ESUBDIVIDE_EDGES, list, tot);
- BMO_Exec_Op(bm, &subdop);
- BMO_Finish_Op(bm, &subdop);
-
- free_editMesh(G.editMesh);
- bmesh_to_editmesh(bm);
- BM_Free_Mesh(bm);
-
- if (list) MEM_freeN(list);
-}
-#else
-void esubdivideflag(int flag, float rad, int beauty, int numcuts, int seltype)
-{
- EditMesh *em = G.editMesh;
EditFace *ef;
EditEdge *eed, *cedge, *sort[4];
EditVert *eve, **templist;
@@ -2828,7 +2791,6 @@
allqueue(REDRAWVIEW3D, 0);
DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
}
-#endif
static int count_selected_edges(EditEdge *ed)
{
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -52,7 +52,6 @@
#include <string.h>
#define SELECT 1
- #define BM_EDGEVERT (1<<14)
/*prototypes*/
static void bm_copy_loop_attributes(BMesh *source_mesh, BMesh *target_mesh,
@@ -645,7 +644,7 @@
if (src_flag & BM_SEAM) dst_flag |= ME_SEAM;
if (src_flag & BM_SHARP) dst_flag |= ME_SHARP;
if (BM_Wire_Edge(NULL, element)) dst_flag |= ME_LOOSEEDGE;
- dst_flag |= ME_EDGEDRAW;
+ dst_flag |= ME_EDGEDRAW | ME_EDGERENDER;
} else if (src_type == BM_VERT) {
if (src_flag & BM_SELECT) dst_flag |= SELECT;
}
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -362,7 +362,9 @@
int BM_Selected(BMesh *UNUSED(bm), const void *element)
{
const BMHeader *head = element;
- return BM_TestHFlag(head, BM_SELECT);
+ int selected = BM_TestHFlag(head, BM_SELECT);
+ BLI_assert(!selected || !BM_TestHFlag(head, BM_HIDDEN));
+ return selected;
}
/* this replaces the active flag used in uv/face mode */
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-10-10 14:35:33 UTC (rev 40909)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-10-10 14:56:09 UTC (rev 40910)
@@ -223,94 +223,6 @@
return 's'; // s is shrink/fatten
}
-#if 0
-short EDBM_Extrude_face_indiv(BMEditMesh *em, wmOperator *op, short flag, float *nor)
- EditVert *eve, *v1, *v2, *v3, *v4;
- EditEdge *eed;
- EditFace *efa, *nextfa;
-
- if(em==NULL) return 0;
-
- /* selected edges with 1 or more selected face become faces */
- /* selected faces each makes new faces */
- /* always remove old faces, keeps volumes manifold */
- /* select the new extrusion, deselect old */
-
- /* step 1; init, count faces in edges */
- recalc_editnormals(em);
-
- for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0; // new select flag
-
- for(eed= em->edges.first; eed; eed= eed->next) {
- eed->f2= 0; // amount of unselected faces
- }
- for(efa= em->faces.first; efa; efa= efa->next) {
- if(efa->f & SELECT);
- else {
- efa->e1->f2++;
- efa->e2->f2++;
- efa->e3->f2++;
- if(efa->e4) efa->e4->f2++;
- }
- }
-
- /* step 2: make new faces from faces */
- for(efa= em->faces.last; efa; efa= efa->prev) {
- if(efa->f & SELECT) {
- v1= addvertlist(em, efa->v1->co, efa->v1);
- v2= addvertlist(em, efa->v2->co, efa->v2);
- v3= addvertlist(em, efa->v3->co, efa->v3);
-
- v1->f1= v2->f1= v3->f1= 1;
- copy_v3_v3(v1->no, efa->n);
- copy_v3_v3(v2->no, efa->n);
- copy_v3_v3(v3->no, efa->n);
- if(efa->v4) {
- v4= addvertlist(em, efa->v4->co, efa->v4);
- v4->f1= 1;
- copy_v3_v3(v4->no, efa->n);
- }
- else v4= NULL;
-
- /* side faces, clockwise */
- addfacelist(em, efa->v2, v2, v1, efa->v1, efa, NULL);
- addfacelist(em, efa->v3, v3, v2, efa->v2, efa, NULL);
- if(efa->v4) {
- addfacelist(em, efa->v4, v4, v3, efa->v3, efa, NULL);
- addfacelist(em, efa->v1, v1, v4, efa->v4, efa, NULL);
- }
- else {
- addfacelist(em, efa->v1, v1, v3, efa->v3, efa, NULL);
- }
- /* top face */
- addfacelist(em, v1, v2, v3, v4, efa, NULL);
- }
- }
-
- /* step 3: remove old faces */
- efa= em->faces.first;
- while(efa) {
- nextfa= efa->next;
- if(efa->f & SELECT) {
- BLI_remlink(&em->faces, efa);
- free_editface(em, efa);
- }
- efa= nextfa;
- }
-
- /* step 4: redo selection */
- EM_clear_flag_all(em, SELECT);
-
- for(eve= em->verts.first; eve; eve= eve->next) {
- if(eve->f1) eve->f |= SELECT;
- }
-
- EM_select_flush(em);
-
- return 'n';
-}
-#endif
-
/* extrudes individual edges */
static short EDBM_Extrude_edges_indiv(BMEditMesh *em, wmOperator *op, short flag, float *UNUSED(nor))
{
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list