Plo3d.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int C2F() box3d (double *xbox, double *ybox, double *zbox)
void DrawAxis (double *xbox, double *ybox, integer *Indices, integer style)
void Convex_Box (double *xbox, double *ybox, integer *InsideU, integer *InsideD, char *legend, integer *flag, double *bbox)
void AxesStrings (integer axflag, integer *ixbox, integer *iybox, integer *xind, char *legend, double *bbox)
int triangleSort (integer *polyxin, integer *polyyin, integer *fillin, integer *polyx, integer *polyy, integer *fill)
int scilab_shade (integer *polyx, integer *polyy, integer *fill, integer polysize, integer flag)
void BBoxToval (double *x, double *y, double *z, integer ind, double bbox[6])


Function Documentation

void AxesStrings ( integer  axflag,
integer ixbox,
integer iybox,
integer xind,
char *  legend,
double *  bbox 
)

xind : indices des points de l'enveloppe cvxe ds xbox et ybox

le cot\'e gauche ( c'est tjrs un axe des Z

le cot\^e en bas \`a gauche

le cot\'e en bas a droite

Definition at line 453 of file Plo3d.c.

References BBoxToval(), C2F, dr(), FREE, inint, L, MALLOC, NULL, PD0, PI0, sciprint(), TDAxis(), x, and y.

Referenced by Convex_Box().

00454 {
00455   integer verbose=0,narg_,xz[2];
00456   integer iof;
00457   char *loc = NULL;
00458   /*   char * buff = NULL; */
00459   char * legx = NULL;
00460   char * legy = NULL;
00461   char * legz = NULL;
00462   integer rect[4],flag=0,x,y;
00463   double ang=0.0;
00464 
00465   loc=(char *) MALLOC( (strlen(legend)+1)*sizeof(char));
00466   if ( loc == NULL)
00467     {
00468       sciprint("AxesString : No more Place to store Legends\n");
00469       return;
00470     }
00471   
00472   strcpy(loc,legend);
00473   /*   legx=strtok_r(loc,"@",&buff); */
00474   /*   legy=strtok_r(NULL,"@",&buff); */
00475   /*   legz=strtok_r(NULL,"@",&buff); */
00476  
00477   legx=strtok(loc,"@");
00478   legy=strtok(NULL,"@");
00479   legz=strtok(NULL,"@");
00480 
00482   C2F(dr)("xget","wdim",&verbose,xz,&narg_, PI0, PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00483   iof = (xz[0]+xz[1])/50;
00484 
00485   x = (integer) (ixbox[2]-(xz[0]+xz[1])/20) ;
00486   y = (integer) (0.5*iybox[3]+0.5*iybox[2]);
00487   /*** le z scaling ***/
00488   if ( axflag>=4)
00489     {
00490       double fx,fy,fz,lx,ly,lz;
00491       integer LPoint[2],FPoint[2],Ticsdir[2],xnax[2];
00492       xnax[0]=5;xnax[1]=2;
00493       FPoint[0]=ixbox[2];FPoint[1]=iybox[2];
00494       LPoint[0]=ixbox[3];LPoint[1]=iybox[3];
00495       Ticsdir[0]= -1;
00496       Ticsdir[1]=0;
00497       BBoxToval(&fx,&fy,&fz,xind[2],bbox);
00498       BBoxToval(&lx,&ly,&lz,xind[3],bbox);
00499       TDAxis(1L,fz,lz,xnax,FPoint,LPoint,Ticsdir);
00500     }
00501   if (legz != NULL)
00502     {
00503       C2F(dr)("xstringl",legz,&x,&y,rect,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00504       C2F(dr)("xstring",legz,(x=x - rect[2],&x),&y,PI0,&flag
00505               ,PI0,PI0,&ang,PD0,PD0,PD0,0L,0L);
00506     }
00509   x=inint((ixbox[3]+ixbox[4])/2.0 -iof);
00510   y=inint((1/3.0)*iybox[3]+(2/3.0)*iybox[4]+(xz[0]+xz[1])/30);
00511 
00512   if ( xind[3]+xind[4] == 3)
00513     {
00514       if ( axflag>=4)
00515         {
00516           double fx,fy,fz,lx,ly,lz;
00517           integer LPoint[2],FPoint[2],Ticsdir[2],xnax[2];
00518           xnax[0]=5;xnax[1]=2;
00519           FPoint[0]=ixbox[3];FPoint[1]=iybox[3];
00520           LPoint[0]=ixbox[4];LPoint[1]=iybox[4];
00521           Ticsdir[0]=ixbox[4]-ixbox[5];
00522           Ticsdir[1]=iybox[4]-iybox[5];
00523           BBoxToval(&fx,&fy,&fz,xind[3],bbox);
00524           BBoxToval(&lx,&ly,&lz,xind[4],bbox);
00525           TDAxis(2L,fx,lx,xnax,FPoint,LPoint,Ticsdir);
00526         }
00527       if (legx != NULL)
00528         {
00529 
00530           C2F(dr)("xstringl",legx,&x,&y,rect,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00531           C2F(dr)("xstring",legx,(x=x-rect[2],&x),&y,PI0,&flag
00532                   ,PI0,PI0,&ang,PD0,PD0,PD0,0L,0L);
00533         }
00534     }
00535   else 
00536     {
00537       if ( axflag>=4)
00538         {
00539           double fx,fy,fz,lx,ly,lz;
00540           integer LPoint[2],FPoint[2],Ticsdir[2],xnax[2];
00541           xnax[0]=5;xnax[1]=2;
00542           FPoint[0]=ixbox[3];FPoint[1]=iybox[3];
00543           LPoint[0]=ixbox[4];LPoint[1]=iybox[4];
00544           Ticsdir[0]=ixbox[4]-ixbox[5];
00545           Ticsdir[1]=iybox[4]-iybox[5];
00546           BBoxToval(&fx,&fy,&fz,xind[3],bbox);
00547           BBoxToval(&lx,&ly,&lz,xind[4],bbox);
00548           TDAxis(2L,fy,ly,xnax,FPoint,LPoint,Ticsdir);
00549         }
00550       if (legy != NULL)
00551         {
00552 
00553           C2F(dr)("xstringl",legy,&x,&y,rect,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00554           C2F(dr)("xstring",legy,(x=x-rect[2],&x),&y,PI0,&flag
00555                   ,PI0,PI0,&ang,PD0,PD0,PD0,0L,0L);
00556         }
00557     }
00560   x=inint((ixbox[4]+ixbox[5])/2+(xz[0]+xz[1])/30);
00561   y=inint(((2/3.0)*iybox[4]+(1/3.0)*iybox[5])+iof);
00562 
00563   if ( xind[4]+xind[5] == 3)
00564   {
00565       if ( axflag>=4)
00566         {
00567           double fx,fy,fz,lx,ly,lz;
00568           integer LPoint[2],FPoint[2],Ticsdir[2],xnax[2];
00569           xnax[0]=5;xnax[1]=2;
00570           FPoint[0]=ixbox[4];FPoint[1]=iybox[4];
00571           LPoint[0]=ixbox[5];LPoint[1]=iybox[5];
00572           Ticsdir[0]=ixbox[4]-ixbox[3];
00573           Ticsdir[1]=iybox[4]-iybox[3];
00574           BBoxToval(&fx,&fy,&fz,xind[4],bbox);
00575           BBoxToval(&lx,&ly,&lz,xind[5],bbox);
00576           TDAxis(3L,fx,lx,xnax,FPoint,LPoint,Ticsdir); 
00577         }
00578       if (legx != NULL) 
00579         {
00580           C2F(dr)("xstring",legx,&x,&y,PI0,&flag,PI0,PI0,&ang,PD0,PD0,PD0,0L,0L);
00581         }
00582     }
00583   else 
00584     {
00585       if ( axflag>=4)
00586         {
00587           double fx,fy,fz,lx,ly,lz;
00588           integer LPoint[2],FPoint[2],Ticsdir[2],xnax[2];
00589           xnax[0]=5;xnax[1]=2;
00590           FPoint[0]=ixbox[4];FPoint[1]=iybox[4];
00591           LPoint[0]=ixbox[5];LPoint[1]=iybox[5];
00592           Ticsdir[0]=ixbox[4]-ixbox[3];
00593           Ticsdir[1]=iybox[4]-iybox[3];
00594           BBoxToval(&fx,&fy,&fz,xind[4],bbox);
00595           BBoxToval(&lx,&ly,&lz,xind[5],bbox);
00596           TDAxis(3L,fy,ly,xnax,FPoint,LPoint,Ticsdir); 
00597         }
00598       if (legy != NULL) 
00599         {
00600           C2F(dr)("xstring",legy,&x,&y,PI0,&flag,PI0,PI0,&ang,PD0,PD0,PD0,0L,0L);
00601         }
00602     }  
00603   FREE(loc);
00604 }

Here is the call graph for this function:

Here is the caller graph for this function:

void BBoxToval ( double *  x,
double *  y,
double *  z,
integer  ind,
double  bbox[6] 
)

Returns the [x,y,z] values of a pointeger given its xbox or ybox indices

Definition at line 609 of file Plo3d.c.

Referenced by AxesStrings().

00610 {
00611   switch ( ind)
00612     {
00613     case 0:     *x=bbox[0],*y=bbox[2],*z=bbox[4];break;
00614     case 1:     *x=bbox[0],*y=bbox[3],*z=bbox[4];break;
00615     case 2:     *x=bbox[1],*y=bbox[3],*z=bbox[4];break;
00616     case 3:     *x=bbox[1],*y=bbox[2],*z=bbox[4];break;
00617     case 4:     *x=bbox[0],*y=bbox[2],*z=bbox[5];break;
00618     case 5:     *x=bbox[0],*y=bbox[3],*z=bbox[5];break;
00619     case 6:     *x=bbox[1],*y=bbox[3],*z=bbox[5];break;
00620     case 7:     *x=bbox[1],*y=bbox[2],*z=bbox[5];break;
00621     }
00622 }

Here is the caller graph for this function:

int C2F() box3d ( double *  xbox,
double *  ybox,
double *  zbox 
)

Definition at line 43 of file Plo3d.c.

References wcscalelist::bbox1, C2F, Convex_Box(), Cscale, dr(), DrawAxis(), FREE, getStrMatElement(), L, m, MALLOC, sciSubWindow::mon_x_label, sciSubWindow::mon_y_label, sciSubWindow::mon_z_label, n, NULL, PD0, PI0, pSUBWIN_FEATURE, sciGetCurrentSubWin(), sciGetText(), sciprint(), XScale(), and YScale().

Referenced by dbox(), and zoom_box().

00044 {  
00045  
00046   static integer InsideU[4],InsideD[4],flag[]={1,1,3};
00047   static integer ixbox[4],iybox[4], n=2, m=1;
00048   char * legends = NULL;
00049   sciPointObj * psubwin = NULL;
00050   sciSubWindow * ppsubwin =  NULL;
00051   
00052   char * legx = NULL;
00053   char * legy = NULL;
00054   char * legz = NULL;
00060   psubwin = sciGetCurrentSubWin();
00061   ppsubwin = pSUBWIN_FEATURE (psubwin);
00062 
00063   legx = getStrMatElement( sciGetText(ppsubwin->mon_x_label), 0, 0 ) ;
00064   legy = getStrMatElement( sciGetText(ppsubwin->mon_y_label), 0, 0 ) ;
00065   legz = getStrMatElement( sciGetText(ppsubwin->mon_z_label), 0, 0 ) ;
00066 
00067   if ((legends = MALLOC ((strlen(legx)+
00068     strlen(legy)+
00069     strlen(legz)+
00070     7)*sizeof (char))) == NULL)
00071     sciprint("box3d : No more Place to store legends (3D labels)\n");
00072 
00073   if(legx == NULL)
00074     strcpy(legends,"");
00075   else
00076     strcpy(legends,legx);
00077 
00078   strcat(legends,"@"); 
00079 
00080   if(legy == NULL)
00081     strcat(legends,"");
00082   else
00083     strcat(legends,legy);
00084 
00085   strcat(legends,"@"); 
00086 
00087   if(legz == NULL)
00088     strcat(legends,"");
00089   else
00090     strcat(legends,legz);
00091 
00092   Convex_Box(xbox,ybox,InsideU,InsideD,legends,flag,Cscale.bbox1);
00093   FREE(legends); legends = NULL;
00094 
00095 
00096   C2F (dr) ("xset","thickness",&m,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);    
00097   if (zbox[InsideU[0]] > zbox[InsideD[0]])
00098     DrawAxis(xbox,ybox,InsideU,2);
00099   else 
00100     DrawAxis(xbox,ybox,InsideD,2);    
00101   if (zbox[InsideU[0]] > zbox[InsideD[0]])
00102     DrawAxis(xbox,ybox,InsideD,2);
00103   else 
00104     DrawAxis(xbox,ybox,InsideU,2);
00105 
00106   ixbox[0]=XScale(xbox[0]);ixbox[1]=XScale(xbox[2]);
00107   ixbox[2]=XScale(xbox[1]);ixbox[3]=XScale(xbox[3]);
00108   iybox[0]=YScale(ybox[0]); iybox[1]=YScale(ybox[2]);
00109   iybox[2]=YScale(ybox[1]); iybox[3]=YScale(ybox[3]);
00110   C2F(dr)("xpolys","v",ixbox,iybox,&n,&m,&n,PI0,PD0,PD0,PD0,PD0,0L,0L);  
00111   C2F(dr)("xpolys","v",ixbox+2,iybox+2,&n,&m,&n,PI0,PD0,PD0,PD0,PD0,0L,0L); 
00112 
00113 
00114 
00115   return(0);
00116 }

Here is the call graph for this function:

Here is the caller graph for this function:

void Convex_Box ( double *  xbox,
double *  ybox,
integer InsideU,
integer InsideD,
char *  legend,
integer flag,
double *  bbox 
)

Definition at line 275 of file Plo3d.c.

References AxesStrings(), C2F, DownNext(), dr(), i, ind, j, L, Maxi(), MaxiInd(), n, p, PD0, PI0, sciprint(), UpNext(), XScale(), and YScale().

00276 {
00277   double xmaxi;
00278   integer ixbox[8],iybox[8];
00279   integer xind[8];
00280   integer ind2,ind3,ind;
00281   integer p,n,dvect[1],dash[6];
00282   integer verbose=0,narg_,pat;
00283   integer i,j;
00290   /*      4 ----- 5        */
00291   /*       /    /|         */
00292   /*     7----6  |         */
00293   /*      | 0 | / 1        */
00294   /*     3----- 2          */
00298   xmaxi=((double) Maxi(xbox,8L));
00299   ind= -1;
00300   for (i =0 ; i < 8 ; i++)
00301     {
00302       MaxiInd(xbox,8L,&ind,xmaxi);
00303       if ( ind > 3)
00304         {
00305           xind[0]=ind;
00306           break;
00307         }
00308     }
00309   if (ind < 0 || ind > 8) 
00310     {
00311       sciprint("xind out of bounds");
00312       xind[0]=0;
00313     }
00314   UpNext(xind[0],&ind2,&ind3);
00315   if (ybox[ind2] > ybox[ind3]) 
00316     {
00317       xind[1]=ind2;InsideU[0]=ind3;
00318     }
00319   else 
00320     {
00321       xind[1]=ind3;InsideU[0]=ind2;
00322     }
00323   UpNext(ind2,&ind2,&ind3); InsideU[1]=xind[0];
00324   InsideU[2]=ind2; InsideU[3]=InsideU[0]-4;
00325   xind[2]=ind2;
00326   /* le pointeger en bas qui correspond */
00327   xind[3]=ind2-4;
00328   DownNext(xind[3],&ind2,&ind3);
00329   if (ybox[ind2] < ybox[ind3]) 
00330     {
00331       xind[4]=ind2;InsideD[0]=ind3;
00332     }
00333   else  
00334     {
00335       xind[4]=ind3;InsideD[0]=ind2;
00336     }
00337   DownNext(ind2,&ind2,&ind3);
00338   InsideD[1]=xind[3];
00339   InsideD[2]=ind2;
00340   InsideD[3]=InsideD[0]+4;
00341   xind[5]=ind2;
00342   for (i=0; i < 6 ; i++)
00343     {
00344       ixbox[i]=XScale(xbox[xind[i]]);
00345       iybox[i]=YScale(ybox[xind[i]]);
00346     }
00347   ixbox[6]=ixbox[0];iybox[6]=iybox[0];
00348   p=7,n=1;
00351   dvect[0]=2;       
00353   C2F(dr)("xget","line style",&verbose,dash,&narg_,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00354   C2F(dr)("xset","line style",(j=1,&j),PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00355   C2F (dr) ("xset","thickness",(j=1,&j),PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);     
00356   if (flag[2]>=3){
00357     C2F(dr)("xpolys","v",ixbox,iybox,dvect,&n,&p
00358             ,PI0,PD0,PD0,PD0,PD0,0L,0L);
00359   }
00360   C2F(dr)("xget","pattern",&verbose,&pat,&narg_,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00361   C2F(dr)("xset","pattern",dvect,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L); 
00362   if (flag[2]>=3)
00363     AxesStrings(flag[2],ixbox,iybox,xind,legend,bbox);
00364   C2F(dr)("xset","pattern",&pat,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00365   C2F(dr)("xset","line style",dash,PI0,PI0,PI0,PI0,PI0,PD0,PD0,PD0,PD0,0L,0L);
00366 
00367 }

Here is the call graph for this function:

void DrawAxis ( double *  xbox,
double *  ybox,
integer Indices,
integer  style 
)

int scilab_shade ( integer polyx,
integer polyy,
integer fill,
integer  polysize,
integer  flag 
)

Definition at line 849 of file Plo3d.c.

References Abs, C2F, dr(), dx, dy, FREE, i, ie, is, L, linint, MALLOC, n, NULL, PD0, PI0, s, sciprint(), triangleSort(), x, and y.

Referenced by DrawMerge3d(), drawPolylineEntity(), fac3dn(), and fillpolylines_1().

00850 {
00851   integer px[5],py[5],fil[4],is[3],ie[3],n[3];
00852   integer npoly=1,k,col,cols,psize,i,s,e;
00853   integer polyxs[4],polyys[4],fills[4],*x[3],*y[3];
00854   double dx,dy;
00855 
00856   if (polysize == 3) { /* The triangle case */
00857  
00858     triangleSort(polyx,polyy,fill,polyxs,polyys,fills);
00859   
00860     is[0]=0; ie[0]=1;
00861     is[1]=1; ie[1]=2;
00862     is[2]=0; ie[2]=2;
00863      
00864     /* Computation of coordinates of elementary polygons for each side */
00865      
00866     for(i=0;i<3;i++) {
00867 
00868       s=is[i];
00869       e=ie[i];
00870       n[i]=fills[s]-fills[e];
00871 
00872       if (n[i]) {
00873         
00874         x[i]=(integer *)MALLOC((n[i]+2)*sizeof(integer));
00875         y[i]=(integer *)MALLOC((n[i]+2)*sizeof(integer)); 
00876         if (x[i]==NULL || y[i]==NULL) {
00877           sciprint("shade : MALLOC No more Place\n");
00878           return 0;
00879         }
00880                 
00881         dx=((double)(polyxs[e]-polyxs[s]))/(double)n[i];
00882         dy=((double)(polyys[e]-polyys[s]))/(double)n[i];
00883 
00884         x[i][0]=polyxs[s];
00885         y[i][0]=polyys[s];
00886            
00887         for(k=0;k<n[i];k++) {
00888           x[i][k+1]=linint((double)polyxs[s] + (0.5+k)*dx);
00889           y[i][k+1]=linint((double)polyys[s] + (0.5+k)*dy);
00890         }
00891            
00892         x[i][n[i]+1]=polyxs[e];
00893         y[i][n[i]+1]=polyys[e];
00894       }
00895     }
00896      
00897     /* Fill the whole triangle with color fill[1] if all colors are equal */
00898          
00899     if (!n[0] && !n[1]) {
00900 
00901       psize=3;
00902       col=fills[0];
00903       C2F(dr)("xliness","str",polyxs,polyys,(cols=-Abs(col),&cols),&npoly,&psize ,PI0,PD0,PD0,PD0,PD0,0L,0L);
00904       /*          return(0);*/
00905     }
00906      
00907     if (n[0]) {
00908       psize=4;
00909       col=fills[0];  
00910       for(i=0;i<=n[0];i++) {
00911         px[0]=x[2][i]; px[1]=x[0][i]; px[2]=x[0][i+1]; px[3]=x[2][i+1];
00912         py[0]=y[2][i]; py[1]=y[0][i]; py[2]=y[0][i+1]; py[3]=y[2][i+1];
00913         C2F(dr)("xliness","str",px,py,(cols=-Abs(col),&cols),&npoly,&psize ,PI0,PD0,PD0,PD0,PD0,0L,0L);
00914         col--;
00915       }
00916       FREE(x[0]);
00917       FREE(y[0]);
00918     }
00919      
00920     if (n[1]) {
00921       psize=4;
00922       col=fills[1];
00923       for(i=0;i<=n[1];i++) {
00924         px[0]=x[2][n[0]+i]; px[1]=x[1][i]; px[2]=x[1][i+1]; px[3]=x[2][n[0]+i+1];
00925         py[0]=y[2][n[0]+i]; py[1]=y[1][i]; py[2]=y[1][i+1]; py[3]=y[2][n[0]+i+1];
00926         C2F(dr)("xliness","str",px,py,(cols=-Abs(col),&cols),&npoly,&psize ,PI0,PD0,PD0,PD0,PD0,0L,0L);
00927         col--;
00928       }
00929       FREE(x[1]);
00930       FREE(y[1]);  
00931     }
00932 
00933     if (n[2]) {
00934       FREE(x[2]);
00935       FREE(y[2]);
00936     }
00937 
00938   }
00939    
00940   else { /* The 4 vertices case  */
00941      
00942     px[0]=polyx[0]; px[1]=polyx[1]; px[2]=polyx[2];
00943     py[0]=polyy[0]; py[1]=polyy[1]; py[2]=polyy[2];
00944     fil[0]=fill[0]; fil[1]=fill[1]; fil[2]=fill[2];
00945     scilab_shade(px,py,fil,3,-1);
00946 
00947     px[0]=polyx[0]; px[1]=polyx[2]; px[2]=polyx[3];
00948     py[0]=polyy[0]; py[1]=polyy[2]; py[2]=polyy[3];
00949     fil[0]=fill[0]; fil[1]=fill[2]; fil[2]=fill[3];
00950     scilab_shade(px,py,fil,3,-1);
00951   }
00952    
00953   /* If flag>0 then the contour is drawn */
00954    
00955   if (flag > 0) { 
00956     fil[0]=0;
00957     polysize+=1;
00958     C2F (dr) ("xliness", "str", polyx, polyy, fil, &npoly,
00959               &polysize, PI0, PD0, PD0, PD0, PD0, 0L, 0L);
00960   }
00961   return 0;
00962 }     

Here is the call graph for this function:

Here is the caller graph for this function:

int triangleSort ( integer polyxin,
integer polyyin,
integer fillin,
integer polyx,
integer polyy,
integer fill 
)

Definition at line 817 of file Plo3d.c.

References Abs.

Referenced by scilab_shade().

00818 { 
00819   integer tmp,k;
00820   for (k=0;k<3;k++) {polyx[k]=polyxin[k]; polyy[k]=polyyin[k]; fill[k]=Abs(fillin[k]);}
00821       
00822   if (fill[0]<fill[1]) {  
00823     tmp=fill[0]; fill[0]=fill[1]; fill[1]=tmp;
00824     tmp=polyx[0]; polyx[0]=polyx[1]; polyx[1]=tmp;
00825     tmp=polyy[0]; polyy[0]=polyy[1]; polyy[1]=tmp;
00826   }
00827   if (fill[0]<fill[2]) {  
00828     tmp=fill[0]; fill[0]=fill[2]; fill[2]=tmp;
00829     tmp=polyx[0]; polyx[0]=polyx[2]; polyx[2]=tmp;
00830     tmp=polyy[0]; polyy[0]=polyy[2]; polyy[2]=tmp;
00831   }
00832   if (fill[1]<fill[2]) {  
00833     tmp=fill[1]; fill[1]=fill[2]; fill[2]=tmp;
00834     tmp=polyx[1]; polyx[1]=polyx[2]; polyx[2]=tmp;
00835     tmp=polyy[1]; polyy[1]=polyy[2]; polyy[2]=tmp;
00836   }
00837   return 0;
00838 }

Here is the caller graph for this function:


Generated on Sun Mar 4 15:26:55 2007 for Scilab [trunk] by  doxygen 1.5.1