From: <and...@us...> - 2004-02-11 11:43:10
|
Update of /cvsroot/plplot/plplot/examples/c In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24455/examples/c Modified Files: x22c.c Log Message: Add option to plsarrow to allow filled arrows. Arrow now defined as a series of points making a polygon. Change x22c.c example to reflect this. Add C++ example x22c.cc. Index: x22c.c =================================================================== RCS file: /cvsroot/plplot/plplot/examples/c/x22c.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- x22c.c 10 Feb 2004 14:45:18 -0000 1.1 +++ x22c.c 11 Feb 2004 11:39:00 -0000 1.2 @@ -26,10 +26,13 @@ /* Variables and data arrays used by plot generators */ -static PLFLT x[100], y[100], u[100], v[100], r[100]; +static PLFLT x[100], y[100], u[100], v[100]; -static PLFLT arrow_x[6] = {0.5, -0.5, 0.5, 0.3, 0.5, 0.3}; -static PLFLT arrow_y[6] = {0.0, 0.0, 0.0, 0.2, 0.0, -0.2}; +/* Pairs of points making the line segments used to plot the user defined arrow */ +static PLFLT arrow_x[6] = {-0.5, 0.5, 0.3, 0.5, 0.3, 0.5}; +static PLFLT arrow_y[6] = {0.0, 0.0, 0.2, 0.0, -0.2, 0.0}; +static PLFLT arrow2_x[6] = {-0.5, 0.3, 0.3, 0.5, 0.3, 0.3}; +static PLFLT arrow2_y[6] = {0.0, 0.0, 0.2, 0.0, -0.2, 0.0}; /*--------------------------------------------------------------------------*\ * main @@ -43,6 +46,7 @@ int i,j,k, nx, ny, npts; PLFLT dx, dy; PLFLT xmin, xmax, ymin, ymax; + PLINT narr, fill; /* Parse and process command line arguments */ @@ -64,6 +68,7 @@ ymin = -ny/2*dy; ymax = ny/2*dy; +/* Create the data to plot */ k = 0; for (i = 0; i<nx; i++) { for (j = 0; j<ny; j++) { @@ -75,13 +80,26 @@ } } +/* Plot vectors using default arrow style */ plenv(xmin, xmax, ymin, ymax, 0, 0); pllab("(x)", "(y)", "#frPLplot Example 22 - vector plot"); plarrows(u,v,x,y,npts,-0.5,dx,dy); - plsarrow(arrow_x, arrow_y, 6); + narr = 6; + fill = 0; + +/* Create user defined arrow style and plot vectors using new style */ + plsarrow(arrow_x, arrow_y, narr, fill); plenv(xmin, xmax, ymin, ymax, 0, 0); - pllab("(x)", "(y)", "#frPLplot Example 22 - vector plot"); + pllab("(x)", "(y)", "#frPLplot Example 22 - user defined arrow"); + plarrows(u,v,x,y,npts,-0.5,dx,dy); + + fill = 1; + +/* Create user defined arrow style and plot vectors using new style */ + plsarrow(arrow2_x, arrow2_y, narr, fill); + plenv(xmin, xmax, ymin, ymax, 0, 0); + pllab("(x)", "(y)", "#frPLplot Example 22 - filled arrow"); plarrows(u,v,x,y,npts,-0.5,dx,dy); plend(); |