remove some redundant lines of code.
This commit is contained in:
@@ -129,13 +129,13 @@ BMEdge *BM_Make_Edge(BMesh *bm, BMVert *v1, BMVert *v2, const BMEdge *example, i
|
||||
BMFace *BM_Make_Face(BMesh *bm, BMVert **verts, BMEdge **edges, const int len, int nodouble);
|
||||
|
||||
BMFace *BM_Make_Face_QuadTri_v(BMesh *bm,
|
||||
BMVert **verts, BMEdge **edges, int len,
|
||||
const BMFace *example, int nodouble);
|
||||
BMVert **verts, int len,
|
||||
const BMFace *example, const int nodouble);
|
||||
|
||||
/* easier to use version of BM_Make_Face_QuadTri_v.
|
||||
* creates edges if necassary. */
|
||||
BMFace *BM_Make_Face_QuadTri(BMesh *bm, BMVert *v1, BMVert *v2, BMVert *v3, BMVert *v4,
|
||||
const BMFace *example, int nodouble);
|
||||
const BMFace *example, const int nodouble);
|
||||
|
||||
/*makes an ngon from an unordered list of edges. v1 and v2 must be the verts
|
||||
defining edges[0], and define the winding of the new face.*/
|
||||
|
||||
@@ -140,58 +140,29 @@ BMEdge *BM_Make_Edge(BMesh *bm, BMVert *v1, BMVert *v2, BMEdge *example, int nod
|
||||
|
||||
BMFace *BM_Make_Face_QuadTri(BMesh *bm,
|
||||
BMVert *v1, BMVert *v2, BMVert *v3, BMVert *v4,
|
||||
const BMFace *example, int nodouble)
|
||||
const BMFace *example, const int nodouble)
|
||||
{
|
||||
BMEdge *edar[4];
|
||||
BMVert *vtar[4];
|
||||
|
||||
edar[0] = BM_Edge_Exist(v1, v2);
|
||||
edar[1] = BM_Edge_Exist(v2, v3);
|
||||
edar[2] = BM_Edge_Exist(v3, v4? v4 : v1);
|
||||
if (v4) edar[3] = BM_Edge_Exist(v4, v1);
|
||||
else edar[3] = NULL;
|
||||
|
||||
if (!edar[0]) edar[0] = BM_Make_Edge(bm, v1, v2, NULL, 0);
|
||||
if (!edar[1]) edar[1] = BM_Make_Edge(bm, v2, v3, NULL, 0);
|
||||
if (!edar[2]) edar[2] = BM_Make_Edge(bm, v3, v4?v4:v1, NULL, 0);
|
||||
if (!edar[0] && v4) edar[0] = BM_Make_Edge(bm, v4, v1, NULL, 0);
|
||||
|
||||
vtar[0] = v1;
|
||||
vtar[1] = v2;
|
||||
vtar[2] = v3;
|
||||
vtar[3] = v4;
|
||||
|
||||
return BM_Make_Face_QuadTri_v(bm, vtar, edar, v4?4:3, example, nodouble);
|
||||
BMVert *vtar[4]= {v1, v2, v3, v4};
|
||||
return BM_Make_Face_QuadTri_v(bm, vtar, v4 ? 4 : 3, example, nodouble);
|
||||
}
|
||||
|
||||
/*remove the edge array bits from this. Its not really needed?*/
|
||||
BMFace *BM_Make_Face_QuadTri_v(BMesh *bm, BMVert **verts, BMEdge **edges, int len, const BMFace *example, int nodouble)
|
||||
BMFace *BM_Make_Face_QuadTri_v(BMesh *bm, BMVert **verts, int len, const BMFace *example, const int nodouble)
|
||||
{
|
||||
BMEdge *edar[4];
|
||||
BMEdge *edar[4]= {NULL};
|
||||
BMFace *f = NULL;
|
||||
int overlap = 0;
|
||||
|
||||
edar[0] = edar[1] = edar[2] = edar[3] = NULL;
|
||||
|
||||
if(edges) {
|
||||
edar[0] = edges[0];
|
||||
edar[1] = edges[1];
|
||||
edar[2] = edges[2];
|
||||
if(len == 4) edar[3] = edges[3];
|
||||
edar[0] = BM_Edge_Exist(verts[0], verts[1]);
|
||||
edar[1] = BM_Edge_Exist(verts[1], verts[2]);
|
||||
if(len == 4) {
|
||||
edar[2] = BM_Edge_Exist(verts[2], verts[3]);
|
||||
edar[3] = BM_Edge_Exist(verts[3], verts[0]);
|
||||
}
|
||||
else {
|
||||
edar[0] = BM_Edge_Exist(verts[0],verts[1]);
|
||||
edar[1] = BM_Edge_Exist(verts[1],verts[2]);
|
||||
if(len == 4) {
|
||||
edar[2] = BM_Edge_Exist(verts[2],verts[3]);
|
||||
edar[3] = BM_Edge_Exist(verts[3],verts[0]);
|
||||
|
||||
}
|
||||
else {
|
||||
edar[2] = BM_Edge_Exist(verts[2],verts[0]);
|
||||
}
|
||||
edar[2] = BM_Edge_Exist(verts[2], verts[0]);
|
||||
}
|
||||
|
||||
|
||||
if(nodouble) {
|
||||
/*check if face exists or overlaps*/
|
||||
if(len == 4) {
|
||||
|
||||
@@ -284,7 +284,7 @@ void extrude_edge_context_exec(BMesh *bm, BMOperator *op)
|
||||
}
|
||||
|
||||
/*not sure what to do about example face, pass NULL for now.*/
|
||||
f = BM_Make_Face_QuadTri_v(bm, verts, NULL, 4, NULL, 0);
|
||||
f = BM_Make_Face_QuadTri_v(bm, verts, 4, NULL, 0);
|
||||
|
||||
/*copy attributes*/
|
||||
l=BMIter_New(&iter, bm, BM_LOOPS_OF_FACE, f);
|
||||
|
||||
Reference in New Issue
Block a user