From: <arj...@us...> - 2011-01-03 08:45:02
|
Revision: 11435 http://plplot.svn.sourceforge.net/plplot/?rev=11435&view=rev Author: arjenmarkus Date: 2011-01-03 08:44:55 +0000 (Mon, 03 Jan 2011) Log Message: ----------- Expand example 27 to test the filling operation of large, possibly self-intersecting polygons. Modified Paths: -------------- trunk/examples/c/x27c.c Modified: trunk/examples/c/x27c.c =================================================================== --- trunk/examples/c/x27c.c 2011-01-03 08:21:02 UTC (rev 11434) +++ trunk/examples/c/x27c.c 2011-01-03 08:44:55 UTC (rev 11435) @@ -27,7 +27,7 @@ // Function prototypes void cycloid( void ); -void spiro( PLFLT data[] ); +void spiro( PLFLT data[], int fill ); //-------------------------------------------------------------------------- // main @@ -54,6 +54,7 @@ }; int i; + int fill; // plplot initialization @@ -74,11 +75,12 @@ // plssub( 3, 3 ); // Three by three window + fill = 0; for ( i = 0; i < 9; i++ ) { pladv( 0 ); plvpor( 0.0, 1.0, 0.0, 1.0 ); - spiro( ¶ms[i][0] ); + spiro( ¶ms[i][0], fill ); } pladv( 0 ); @@ -88,9 +90,22 @@ { pladv( 0 ); plvpor( 0.0, 1.0, 0.0, 1.0 ); - spiro( ¶ms[i][0] ); + spiro( ¶ms[i][0], fill ); } +// Fill the curves + fill = 1; + + pladv( 0 ); + plssub( 1, 1 ); // One window per curve + + for ( i = 0; i < 9; i++ ) + { + pladv( 0 ); + plvpor( 0.0, 1.0, 0.0, 1.0 ); + spiro( ¶ms[i][0], fill ); + } + // Don't forget to call plend() to finish off! plend(); @@ -108,7 +123,7 @@ //-------------------------------------------------------------------------- void -spiro( PLFLT params[] ) +spiro( PLFLT params[], int fill ) { #define NPNT 20000 static PLFLT xcoord[NPNT + 1]; @@ -170,5 +185,10 @@ plwind( xmin, xmax, ymin, ymax ); plcol0( 1 ); - plline( 1 + steps * windings, xcoord, ycoord ); + if ( fill ) + { + plfill( 1 + steps * windings, xcoord, ycoord ); + } else { + plline( 1 + steps * windings, xcoord, ycoord ); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |