fixed subdividing bug with addfacelist(..) rule for edges
still needs revision on bevel and rotate edge
This commit is contained in:
@@ -55,7 +55,7 @@ extern void remedge(EditEdge *eed);
|
||||
|
||||
extern struct EditVert *addvertlist(float *vec);
|
||||
extern struct EditEdge *addedgelist(struct EditVert *v1, struct EditVert *v2, struct EditEdge *example);
|
||||
extern struct EditFace *addfacelist(struct EditVert *v1, struct EditVert *v2, struct EditVert *v3, struct EditVert *v4, struct EditFace *example);
|
||||
extern struct EditFace *addfacelist(struct EditVert *v1, struct EditVert *v2, struct EditVert *v3, struct EditVert *v4, struct EditFace *example, struct EditFace *exampleEdges);
|
||||
extern struct EditEdge *findedgelist(struct EditVert *v1, struct EditVert *v2);
|
||||
|
||||
/* ******************* editmesh_add.c */
|
||||
|
||||
@@ -325,14 +325,14 @@ void free_facelist(ListBase *lb)
|
||||
lb->first= lb->last= NULL;
|
||||
}
|
||||
|
||||
EditFace *addfacelist(EditVert *v1, EditVert *v2, EditVert *v3, EditVert *v4, EditFace *example)
|
||||
EditFace *addfacelist(EditVert *v1, EditVert *v2, EditVert *v3, EditVert *v4, EditFace *example, EditFace *exampleEdges)
|
||||
{
|
||||
EditMesh *em = G.editMesh;
|
||||
EditFace *efa;
|
||||
EditEdge *e1, *e2=0, *e3=0, *e4=0;
|
||||
|
||||
/* add face to list and do the edges */
|
||||
if(example) {
|
||||
if(exampleEdges) {
|
||||
e1= addedgelist(v1, v2, example->e1);
|
||||
e2= addedgelist(v2, v3, example->e2);
|
||||
if(v4) e3= addedgelist(v3, v4, example->e3);
|
||||
@@ -732,7 +732,7 @@ void make_editMesh()
|
||||
if(mface->v3) eve3= evlist[mface->v3]; else eve3= NULL;
|
||||
if(mface->v4) eve4= evlist[mface->v4]; else eve4= NULL;
|
||||
|
||||
efa= addfacelist(eve1, eve2, eve3, eve4, NULL);
|
||||
efa= addfacelist(eve1, eve2, eve3, eve4, NULL, NULL);
|
||||
|
||||
if(efa) {
|
||||
|
||||
@@ -1801,9 +1801,9 @@ static void undoMesh_to_editMesh(void *umv)
|
||||
tface= um->tfaces;
|
||||
for(a=0, efac= um->faces; a<um->totface; a++, efac++) {
|
||||
if(efac->v4 != -1)
|
||||
efa= addfacelist(evar[efac->v1], evar[efac->v2], evar[efac->v3], evar[efac->v4], NULL);
|
||||
efa= addfacelist(evar[efac->v1], evar[efac->v2], evar[efac->v3], evar[efac->v4], NULL, NULL);
|
||||
else
|
||||
efa= addfacelist(evar[efac->v1], evar[efac->v2], evar[efac->v3], NULL, NULL);
|
||||
efa= addfacelist(evar[efac->v1], evar[efac->v2], evar[efac->v3], NULL, NULL ,NULL);
|
||||
|
||||
efa->mat_nr= efac->mat_nr;
|
||||
efa->flag= efac->flag;
|
||||
|
||||
@@ -327,7 +327,7 @@ void addedgeface_mesh(void)
|
||||
if(amount==3) {
|
||||
if(exist_face(neweve[0], neweve[1], neweve[2], 0)==0) {
|
||||
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], 0, NULL);
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], 0, NULL, NULL);
|
||||
|
||||
}
|
||||
else error("The selected vertices already form a face");
|
||||
@@ -340,11 +340,11 @@ void addedgeface_mesh(void)
|
||||
con3= convex(neweve[0]->co, neweve[3]->co, neweve[1]->co, neweve[2]->co);
|
||||
|
||||
if(con1>=con2 && con1>=con3)
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], NULL);
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], NULL, NULL);
|
||||
else if(con2>=con1 && con2>=con3)
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], NULL);
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], NULL, NULL);
|
||||
else
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[1], neweve[3], NULL);
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[1], neweve[3], NULL, NULL);
|
||||
|
||||
}
|
||||
else error("The selected vertices already form a face");
|
||||
@@ -582,24 +582,24 @@ void add_primitiveMesh(int type)
|
||||
v3= v1->next->next;
|
||||
if(ext) v4= v2->next->next;
|
||||
|
||||
addfacelist(v3, v1->next, v1, v3->next, NULL);
|
||||
if(ext) addfacelist(v2, v2->next, v4, v4->next, NULL);
|
||||
addfacelist(v3, v1->next, v1, v3->next, NULL, NULL);
|
||||
if(ext) addfacelist(v2, v2->next, v4, v4->next, NULL, NULL);
|
||||
|
||||
}
|
||||
else {
|
||||
v3= v1;
|
||||
v4= v2;
|
||||
for(a=1; a<tot; a++) {
|
||||
addfacelist(vdown, v3, v3->next, 0, NULL);
|
||||
addfacelist(vdown, v3, v3->next, 0, NULL, NULL);
|
||||
v3= v3->next;
|
||||
if(ext) {
|
||||
addfacelist(vtop, v4, v4->next, 0, NULL);
|
||||
addfacelist(vtop, v4, v4->next, 0, NULL, NULL);
|
||||
v4= v4->next;
|
||||
}
|
||||
}
|
||||
if(type>1) {
|
||||
addfacelist(vdown, v3, v1, 0, NULL);
|
||||
if(ext) addfacelist(vtop, v4, v2, 0, NULL);
|
||||
addfacelist(vdown, v3, v1, 0, NULL, NULL);
|
||||
if(ext) addfacelist(vtop, v4, v2, 0, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -616,19 +616,19 @@ void add_primitiveMesh(int type)
|
||||
v3= v1;
|
||||
v4= v2;
|
||||
for(a=1; a<tot; a++) {
|
||||
addfacelist(v3, v3->next, v4->next, v4, NULL);
|
||||
addfacelist(v3, v3->next, v4->next, v4, NULL, NULL);
|
||||
v3= v3->next;
|
||||
v4= v4->next;
|
||||
}
|
||||
addfacelist(v3, v1, v2, v4, NULL);
|
||||
addfacelist(v3, v1, v2, v4, NULL, NULL);
|
||||
}
|
||||
else if(type==7) { /* cone */
|
||||
v3= v1;
|
||||
for(a=1; a<tot; a++) {
|
||||
addfacelist(vtop, v3->next, v3, 0, NULL);
|
||||
addfacelist(vtop, v3->next, v3, 0, NULL, NULL);
|
||||
v3= v3->next;
|
||||
}
|
||||
addfacelist(vtop, v1, v3, 0, NULL);
|
||||
addfacelist(vtop, v1, v3, 0, NULL, NULL);
|
||||
}
|
||||
|
||||
if(type<2) tot= totoud;
|
||||
@@ -726,7 +726,7 @@ void add_primitiveMesh(int type)
|
||||
v1= eva[ icoface[a][0] ];
|
||||
v2= eva[ icoface[a][1] ];
|
||||
v3= eva[ icoface[a][2] ];
|
||||
addfacelist(v1, v2, v3, 0, NULL);
|
||||
addfacelist(v1, v2, v3, 0, NULL, NULL);
|
||||
}
|
||||
|
||||
dia*=200;
|
||||
@@ -756,8 +756,8 @@ void add_primitiveMesh(int type)
|
||||
tv[monkeynv+i]->f |= SELECT;
|
||||
}
|
||||
for (i=0; i<monkeynf; i++) {
|
||||
addfacelist(tv[monkeyf[i][0]+i-monkeyo], tv[monkeyf[i][1]+i-monkeyo], tv[monkeyf[i][2]+i-monkeyo], (monkeyf[i][3]!=monkeyf[i][2])?tv[monkeyf[i][3]+i-monkeyo]:NULL, NULL);
|
||||
addfacelist(tv[monkeynv+monkeyf[i][2]+i-monkeyo], tv[monkeynv+monkeyf[i][1]+i-monkeyo], tv[monkeynv+monkeyf[i][0]+i-monkeyo], (monkeyf[i][3]!=monkeyf[i][2])?tv[monkeynv+monkeyf[i][3]+i-monkeyo]:NULL, NULL);
|
||||
addfacelist(tv[monkeyf[i][0]+i-monkeyo], tv[monkeyf[i][1]+i-monkeyo], tv[monkeyf[i][2]+i-monkeyo], (monkeyf[i][3]!=monkeyf[i][2])?tv[monkeyf[i][3]+i-monkeyo]:NULL, NULL, NULL);
|
||||
addfacelist(tv[monkeynv+monkeyf[i][2]+i-monkeyo], tv[monkeynv+monkeyf[i][1]+i-monkeyo], tv[monkeynv+monkeyf[i][0]+i-monkeyo], (monkeyf[i][3]!=monkeyf[i][2])?tv[monkeynv+monkeyf[i][3]+i-monkeyo]:NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
MEM_freeN(tv);
|
||||
|
||||
@@ -537,8 +537,8 @@ static short extrudeflag_edge(short flag)
|
||||
if(eed->v2->vn==NULL)
|
||||
eed->v2->vn= addvertlist(eed->v2->co);
|
||||
|
||||
if(eed->dir==1) efa2= addfacelist(eed->v1, eed->v2, eed->v2->vn, eed->v1->vn, NULL);
|
||||
else efa2= addfacelist(eed->v2, eed->v1, eed->v1->vn, eed->v2->vn, NULL);
|
||||
if(eed->dir==1) efa2= addfacelist(eed->v1, eed->v2, eed->v2->vn, eed->v1->vn, NULL, NULL);
|
||||
else efa2= addfacelist(eed->v2, eed->v1, eed->v1->vn, eed->v2->vn, NULL, NULL);
|
||||
|
||||
if(eed->vn) {
|
||||
/* btw, we dont do it in addfacelist, it copies edges too */
|
||||
@@ -558,11 +558,11 @@ static short extrudeflag_edge(short flag)
|
||||
if(efa->v2->vn==NULL) efa->v2->vn= addvertlist(efa->v2->co);
|
||||
if(efa->v3->vn==NULL) efa->v3->vn= addvertlist(efa->v3->co);
|
||||
if(efa->v4 && efa->v4->vn==NULL) efa->v4->vn= addvertlist(efa->v4->co);
|
||||
|
||||
/* creases and seams stay on *old* face so no edge copy */
|
||||
if(efa->v4)
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, efa->v4->vn, efa);
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, efa->v4->vn, efa, NULL);
|
||||
else
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, NULL, efa);
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, NULL, efa, NULL);
|
||||
|
||||
/* if *one* selected face has edge with unselected face; remove old selected faces */
|
||||
if(efa->e1->f2 || efa->e2->f2 || efa->e3->f2 || (efa->e4 && efa->e4->f2))
|
||||
@@ -774,8 +774,8 @@ short extrudeflag_vert(short flag)
|
||||
if( (eed->f2==1 || eed->f2==2) ) {
|
||||
if(eed->f1==2) del_old= 1;
|
||||
|
||||
if(eed->dir==1) efa2= addfacelist(eed->v1, eed->v2, eed->v2->vn, eed->v1->vn, NULL);
|
||||
else efa2= addfacelist(eed->v2, eed->v1, eed->v1->vn, eed->v2->vn, NULL);
|
||||
if(eed->dir==1) efa2= addfacelist(eed->v1, eed->v2, eed->v2->vn, eed->v1->vn, NULL, NULL);
|
||||
else efa2= addfacelist(eed->v2, eed->v1, eed->v1->vn, eed->v2->vn, NULL, NULL);
|
||||
|
||||
if(eed->vn) {
|
||||
efa= (EditFace *)eed->vn;
|
||||
@@ -818,7 +818,7 @@ short extrudeflag_vert(short flag)
|
||||
v3= efa->v3->vn;
|
||||
if(efa->v4) v4= efa->v4->vn; else v4= 0;
|
||||
|
||||
efa2= addfacelist(v1, v2, v3, v4, efa);
|
||||
efa2= addfacelist(v1, v2, v3, v4, efa, efa); /* hmm .. not sure about edges here */
|
||||
|
||||
/* for transform */
|
||||
VecAddf(nor, nor, efa->n);
|
||||
@@ -967,7 +967,7 @@ void adduplicateflag(int flag)
|
||||
v2= efa->v2->vn;
|
||||
v3= efa->v3->vn;
|
||||
if(efa->v4) v4= efa->v4->vn; else v4= NULL;
|
||||
newfa= addfacelist(v1, v2, v3, v4, efa);
|
||||
newfa= addfacelist(v1, v2, v3, v4, efa, efa);
|
||||
|
||||
newfa->f= efa->f;
|
||||
efa->f -= flag;
|
||||
|
||||
@@ -139,9 +139,9 @@ void convert_to_triface(int all)
|
||||
if(efa->v4) {
|
||||
if(all || (efa->f & SELECT) ) {
|
||||
|
||||
efan= addfacelist(efa->v1, efa->v2, efa->v3, 0, efa);
|
||||
efan= addfacelist(efa->v1, efa->v2, efa->v3, 0, efa, NULL);
|
||||
if(efa->f & SELECT) EM_select_face(efan, 1);
|
||||
efan= addfacelist(efa->v1, efa->v3, efa->v4, 0, efa);
|
||||
efan= addfacelist(efa->v1, efa->v3, efa->v4, 0, efa, NULL);
|
||||
if(efa->f & SELECT) EM_select_face(efan, 1);
|
||||
|
||||
efan->tf.uv[1][0]= efan->tf.uv[2][0];
|
||||
@@ -1031,7 +1031,7 @@ void fill_mesh(void)
|
||||
if(ok) {
|
||||
efa= fillfacebase.first;
|
||||
while(efa) {
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, 0, efa);
|
||||
addfacelist(efa->v1->vn, efa->v2->vn, efa->v3->vn, 0, efa, NULL);
|
||||
efa= efa->next;
|
||||
}
|
||||
}
|
||||
@@ -1245,7 +1245,7 @@ static void addface_subdiv(EditFace *efa, int val1, int val2, int val3, int val4
|
||||
if(val4>=9) v4= eve;
|
||||
else v4= vert_from_number(efa, val4);
|
||||
|
||||
w= addfacelist(v1, v2, v3, v4, efa);
|
||||
w= addfacelist(v1, v2, v3, v4, efa, NULL);
|
||||
if(w) {
|
||||
if(efa->v4) set_wuv(4, w, val1, val2, val3, val4, efapin);
|
||||
else set_wuv(3, w, val1, val2, val3, val4, efapin);
|
||||
@@ -2090,14 +2090,14 @@ void beauty_fill(void)
|
||||
efa= efaa[1];
|
||||
efa->f1= 1;
|
||||
|
||||
w= addfacelist(v1, v2, v3, 0, efa);
|
||||
w= addfacelist(v1, v2, v3, 0, efa, NULL);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[0]);
|
||||
UVCOPY(w->tf.uv[1], uv[1]);
|
||||
UVCOPY(w->tf.uv[2], uv[2]);
|
||||
|
||||
w->tf.col[0] = col[0]; w->tf.col[1] = col[1]; w->tf.col[2] = col[2];
|
||||
w= addfacelist(v1, v3, v4, 0, efa);
|
||||
w= addfacelist(v1, v3, v4, 0, efa, NULL);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[0]);
|
||||
UVCOPY(w->tf.uv[1], uv[2]);
|
||||
@@ -2116,13 +2116,13 @@ void beauty_fill(void)
|
||||
efa= efaa[1];
|
||||
efa->f1= 1;
|
||||
|
||||
w= addfacelist(v2, v3, v4, 0, efa);
|
||||
w= addfacelist(v2, v3, v4, 0, efa, NULL);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[1]);
|
||||
UVCOPY(w->tf.uv[1], uv[3]);
|
||||
UVCOPY(w->tf.uv[2], uv[4]);
|
||||
|
||||
w= addfacelist(v1, v2, v4, 0, efa);
|
||||
w= addfacelist(v1, v2, v4, 0, efa, NULL);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[0]);
|
||||
UVCOPY(w->tf.uv[1], uv[1]);
|
||||
@@ -2212,7 +2212,7 @@ void join_triangles(void)
|
||||
/* make new faces */
|
||||
if( convex(v1->co, v2->co, v3->co, v4->co) > 0.01) {
|
||||
if(exist_face(v1, v2, v3, v4)==0) {
|
||||
w = addfacelist(v1, v2, v3, v4, efaa[0]);
|
||||
w = addfacelist(v1, v2, v3, v4, efaa[0], NULL); /* seam edge may get broken */
|
||||
untag_edges(w);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[0]);
|
||||
@@ -2305,7 +2305,7 @@ void edge_flip(void)
|
||||
if (v1 && v2 && v3){
|
||||
if( convex(v1->co, v2->co, v3->co, v4->co) > 0.01) {
|
||||
if(exist_face(v1, v2, v3, v4)==0) {
|
||||
w = addfacelist(v1, v2, v3, 0, efaa[1]);
|
||||
w = addfacelist(v1, v2, v3, 0, efaa[1], NULL); /* outch this may break seams */
|
||||
|
||||
untag_edges(w);
|
||||
|
||||
@@ -2315,7 +2315,7 @@ void edge_flip(void)
|
||||
|
||||
w->tf.col[0] = col[0]; w->tf.col[1] = col[1]; w->tf.col[2] = col[2];
|
||||
|
||||
w = addfacelist(v1, v3, v4, 0, efaa[1]);
|
||||
w = addfacelist(v1, v3, v4, 0, efaa[1], NULL); /* outch this may break seams */
|
||||
untag_edges(w);
|
||||
|
||||
UVCOPY(w->tf.uv[0], uv[0]);
|
||||
@@ -2486,8 +2486,8 @@ static void edge_rotate(EditEdge *eed)
|
||||
|
||||
/* create the 2 new faces */
|
||||
if(fac1 == 3 && fac2 == 3){
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%3],faces[0][(p1+2)%3],faces[1][(p3+1)%3],NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%3],faces[1][(p3+2)%3],faces[0][(p1+1)%3],NULL,NULL);
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%3],faces[0][(p1+2)%3],faces[1][(p3+1)%3],NULL,NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%3],faces[1][(p3+2)%3],faces[0][(p1+1)%3],NULL,NULL,NULL);
|
||||
|
||||
newFace[0]->tf.col[0] = face[0]->tf.col[(p1+1)%3];
|
||||
newFace[0]->tf.col[1] = face[0]->tf.col[(p1+2)%3];
|
||||
@@ -2504,8 +2504,8 @@ static void edge_rotate(EditEdge *eed)
|
||||
UVCOPY(newFace[1]->tf.uv[2],face[0]->tf.uv[(p1+1)%3]);
|
||||
}
|
||||
else if(fac1 == 4 && fac2 == 3){
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%4],faces[0][(p1+2)%4],faces[0][(p1+3)%4],faces[1][(p3+1)%3],NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%3],faces[1][(p3+2)%3],faces[0][(p1+1)%4],NULL,NULL);
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%4],faces[0][(p1+2)%4],faces[0][(p1+3)%4],faces[1][(p3+1)%3],NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%3],faces[1][(p3+2)%3],faces[0][(p1+1)%4],NULL,NULL,NULL);
|
||||
|
||||
newFace[0]->tf.col[0] = face[0]->tf.col[(p1+1)%4];
|
||||
newFace[0]->tf.col[1] = face[0]->tf.col[(p1+2)%4];
|
||||
@@ -2525,8 +2525,8 @@ static void edge_rotate(EditEdge *eed)
|
||||
}
|
||||
|
||||
else if(fac1 == 3 && fac2 == 4){
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%3],faces[0][(p1+2)%3],faces[1][(p3+1)%4],NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%4],faces[1][(p3+2)%4],faces[1][(p3+3)%4],faces[0][(p1+1)%3],NULL);
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%3],faces[0][(p1+2)%3],faces[1][(p3+1)%4],NULL,NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%4],faces[1][(p3+2)%4],faces[1][(p3+3)%4],faces[0][(p1+1)%3],NULL,NULL);
|
||||
|
||||
newFace[0]->tf.col[0] = face[0]->tf.col[(p1+1)%3];
|
||||
newFace[0]->tf.col[1] = face[0]->tf.col[(p1+2)%3];
|
||||
@@ -2547,8 +2547,8 @@ static void edge_rotate(EditEdge *eed)
|
||||
}
|
||||
|
||||
else if(fac1 == 4 && fac2 == 4){
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%4],faces[0][(p1+2)%4],faces[0][(p1+3)%4],faces[1][(p3+1)%4],NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%4],faces[1][(p3+2)%4],faces[1][(p3+3)%4],faces[0][(p1+1)%4],NULL);
|
||||
newFace[0] = addfacelist(faces[0][(p1+1)%4],faces[0][(p1+2)%4],faces[0][(p1+3)%4],faces[1][(p3+1)%4],NULL,NULL);
|
||||
newFace[1] = addfacelist(faces[1][(p3+1)%4],faces[1][(p3+2)%4],faces[1][(p3+3)%4],faces[0][(p1+1)%4],NULL,NULL);
|
||||
|
||||
newFace[0]->tf.col[0] = face[0]->tf.col[(p1+1)%4];
|
||||
newFace[0]->tf.col[1] = face[0]->tf.col[(p1+2)%4];
|
||||
@@ -3048,12 +3048,12 @@ void bevel_mesh(float bsize, int allfaces)
|
||||
v2= efa->v2->vn;
|
||||
v3= efa->v3->vn;
|
||||
v4= efa->v4->vn;
|
||||
addfacelist(v1, v2, v3, v4, efa);
|
||||
addfacelist(v1, v2, v3, v4, efa,NULL);
|
||||
} else {
|
||||
v1= efa->v1->vn;
|
||||
v2= efa->v2->vn;
|
||||
v3= efa->v3->vn;
|
||||
addfacelist(v1, v2, v3, 0, efa);
|
||||
addfacelist(v1, v2, v3, 0, efa,NULL);
|
||||
}
|
||||
|
||||
efa= efa-> next;
|
||||
@@ -3137,9 +3137,9 @@ void bevel_mesh(float bsize, int allfaces)
|
||||
efa= NULL;
|
||||
|
||||
if (VecCompare(eed->v1->co, eed2->v2->co, limit)) {
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], example);
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], example,NULL);
|
||||
} else {
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], example);
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], example,NULL);
|
||||
}
|
||||
|
||||
if(efa) {
|
||||
@@ -3282,7 +3282,7 @@ void bevel_mesh(float bsize, int allfaces)
|
||||
if ((neweve[b]==eed->v1) || (neweve[b]==eed->v2)) c++;
|
||||
if (c==2) {
|
||||
if(exist_face(eed->v1, eed->v2, eve2, 0)==0) {
|
||||
efa= addfacelist(eed->v1, eed->v2, eve2, 0, example);
|
||||
efa= addfacelist(eed->v1, eed->v2, eve2, 0, example,NULL);
|
||||
#ifdef BEV_DEBUG
|
||||
efa->mat_nr= 2;
|
||||
#endif
|
||||
@@ -3296,16 +3296,16 @@ void bevel_mesh(float bsize, int allfaces)
|
||||
con2= convex(neweve[0]->co, neweve[2]->co, neweve[3]->co, neweve[1]->co);
|
||||
con3= convex(neweve[0]->co, neweve[3]->co, neweve[1]->co, neweve[2]->co);
|
||||
if(con1>=con2 && con1>=con3)
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], example);
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], neweve[3], example,NULL);
|
||||
else if(con2>=con1 && con2>=con3)
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], example);
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[3], neweve[1], example,NULL);
|
||||
else
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[1], neweve[3], example);
|
||||
efa= addfacelist(neweve[0], neweve[2], neweve[1], neweve[3], example,NULL);
|
||||
}
|
||||
}
|
||||
else if (a==3) {
|
||||
if(exist_face(neweve[0], neweve[1], neweve[2], 0)==0)
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], 0, example);
|
||||
efa= addfacelist(neweve[0], neweve[1], neweve[2], 0, example, NULL);
|
||||
}
|
||||
if(efa) {
|
||||
float inp;
|
||||
|
||||
Reference in New Issue
Block a user