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:
authorTon Roosendaal <ton@blender.org>2004-09-19 00:15:37 +0400
committerTon Roosendaal <ton@blender.org>2004-09-19 00:15:37 +0400
commit131e5908a6a598230a7e3f08d9f12ddf8bd309f4 (patch)
treefe607bd23e009698a0a235d1e90078db64e13d7d /source/blender/blenlib/intern/scanfill.c
parenta2ea84903e50d46df002220beb78394abd6cf46e (diff)
Evil commit! Nothing really changed except;
- EditVlak -> EditFace - variables called 'evl' -> 'efa' - functions with 'vlak' in it now have 'face' Just thought was nice starter for editmesh recode...
Diffstat (limited to 'source/blender/blenlib/intern/scanfill.c')
-rw-r--r--source/blender/blenlib/intern/scanfill.c124
1 files changed, 13 insertions, 111 deletions
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index b11f1eb302f..bfa9c9ddf58 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -115,7 +115,7 @@ typedef struct ScFillVert {
int vergscdata(const void *a1, const void *a2);
int vergpoly(const void *a1, const void *a2);
void *new_mem_element(int size);
-void addfillvlak(EditVert *v1, EditVert *v2, EditVert *v3);
+void addfillface(EditVert *v1, EditVert *v2, EditVert *v3);
int boundinside(PolyFill *pf1, PolyFill *pf2);
int boundisect(PolyFill *pf2, PolyFill *pf1);
void mergepolysSimp(PolyFill *pf1, PolyFill *pf2) /* pf2 added to pf1 */;
@@ -137,7 +137,7 @@ ScFillVert *scdata;
ListBase fillvertbase = {0,0};
ListBase filledgebase = {0,0};
-ListBase fillvlakbase = {0,0};
+ListBase fillfacebase = {0,0};
short cox, coy;
@@ -227,7 +227,7 @@ void BLI_end_edgefill(void)
fillvertbase.first= fillvertbase.last= 0;
filledgebase.first= filledgebase.last= 0;
- fillvlakbase.first= fillvlakbase.last= 0;
+ fillfacebase.first= fillfacebase.last= 0;
}
/* **** FILL ROUTINES *************************** */
@@ -262,13 +262,13 @@ EditEdge *BLI_addfilledge(EditVert *v1, EditVert *v2)
return newed;
}
-void addfillvlak(EditVert *v1, EditVert *v2, EditVert *v3)
+void addfillface(EditVert *v1, EditVert *v2, EditVert *v3)
{
/* does not make edges */
- EditVlak *evl;
+ EditFace *evl;
- evl= new_mem_element(sizeof(EditVlak));
- BLI_addtail(&fillvlakbase, evl);
+ evl= new_mem_element(sizeof(EditFace));
+ BLI_addtail(&fillfacebase, evl);
evl->v1= v1;
evl->v2= v2;
@@ -596,7 +596,7 @@ void scanfill(PolyFill *pf)
EditVert *eve,*v1,*v2,*v3;
EditEdge *eed,*nexted,*ed1,*ed2,*ed3;
float miny = 0.0;
- int a,b,verts, maxvlak, totvlak; /* vlak = face in dutch! */
+ int a,b,verts, maxface, totface;
short nr, test, twoconnected=0;
nr= pf->nr;
@@ -695,8 +695,8 @@ void scanfill(PolyFill *pf)
if(pf->f==0) twoconnected= 1;
/* (temporal) security: never much more faces than vertices */
- totvlak= 0;
- maxvlak= 2*verts; /* 2*verts: based at a filled circle within a triangle */
+ totface= 0;
+ maxface= 2*verts; /* 2*verts: based at a filled circle within a triangle */
sc= scdata;
for(a=0;a<verts;a++) {
@@ -719,7 +719,7 @@ void scanfill(PolyFill *pf)
ed2= ed1->next;
if(callLocalInterruptCallBack()) break;
- if(totvlak>maxvlak) {
+ if(totface>maxface) {
/* printf("Fill error: endless loop. Escaped at vert %d, tot: %d.\n", a, verts); */
a= verts;
break;
@@ -774,8 +774,8 @@ void scanfill(PolyFill *pf)
else {
/* new triangle */
/* printf("add face %x %x %x\n",v1,v2,v3); */
- addfillvlak(v1, v2, v3);
- totvlak++;
+ addfillface(v1, v2, v3);
+ totface++;
BLI_remlink((ListBase *)&(sc->first),ed1);
BLI_addtail(&filledgebase,ed1);
ed1->v2->f= 0;
@@ -1128,107 +1128,9 @@ int BLI_edgefill(int mode) /* THE MAIN FILL ROUTINE */
addlisttolist(&fillvertbase,&tempve);
addlisttolist(&filledgebase,&temped);
- /* evl= fillvlakbase.first;
- while(evl) {
- printf("new face %x %x %x\n",evl->v1,evl->v2,evl->v3);
- evl= evl->next;
- }*/
-
-
/* FREE */
MEM_freeN(pflist);
return 1;
}
-
-/*
- MOVED TO EDITMESH.C since it's really bad to leave it here
-
-void fill_mesh(void)
-{
- EditMesh *em = G.editMesh;
- EditVert *eve,*v1;
- EditEdge *eed,*e1,*nexted;
- EditVlak *evl,*nextvl;
- short ok;
-
- if(G.obedit==0 || (G.obedit->type!=OB_MESH)) return;
-
- waitcursor(1);
-
- / * alle selected vertices kopieeren * /
- eve= em->verts.first;
- while(eve) {
- if(eve->f & 1) {
- v1= addfillvert(eve->co);
- eve->vn= v1;
- v1->vn= eve;
- v1->h= 0;
- }
- eve= eve->next;
- }
- / * alle selected edges kopieeren * /
- eed= em->edges.first;
- while(eed) {
- if( (eed->v1->f & 1) && (eed->v2->f & 1) ) {
- e1= addfilledge(eed->v1->vn, eed->v2->vn);
- e1->v1->h++;
- e1->v2->h++;
- }
- eed= eed->next;
- }
- / * van alle selected vlakken vertices en edges verwijderen om dubbels te voorkomen * /
- / * alle edges tellen punten op, vlakken trekken af,
- edges met vertices ->h<2 verwijderen * /
- evl= em->faces.first;
- ok= 0;
- while(evl) {
- nextvl= evl->next;
- if( vlakselectedAND(evl, 1) ) {
- evl->v1->vn->h--;
- evl->v2->vn->h--;
- evl->v3->vn->h--;
- if(evl->v4) evl->v4->vn->h--;
- ok= 1;
-
- }
- evl= nextvl;
- }
- if(ok) { / * er zijn vlakken geselecteerd * /
- eed= filledgebase.first;
- while(eed) {
- nexted= eed->next;
- if(eed->v1->h<2 || eed->v2->h<2) {
- remlink(&filledgebase,eed);
- }
- eed= nexted;
- }
- }
-
- / * tijd=clock(); * /
-
- ok= edgefill(0);
-
- / * printf("time: %d\n",(clock()-tijd)/1000); * /
-
- if(ok) {
- evl= fillvlakbase.first;
- while(evl) {
- addvlaklist(evl->v1->vn, evl->v2->vn, evl->v3->vn, 0, evl);
- evl= evl->next;
- }
- }
- / * else printf("fill error\n"); * /
-
- end_edgefill();
-
- waitcursor(0);
-
- countall();
- allqueue(REDRAWVIEW3D, 0);
-}
-
-MOVED TO editmesh.c !!!!! (you bastards!)
-
- */