diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/GIFPlot/Python/full | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/GIFPlot/Python/full')
| -rw-r--r-- | Examples/GIFPlot/Python/full/Makefile | 26 | ||||
| -rw-r--r-- | Examples/GIFPlot/Python/full/README | 8 | ||||
| -rw-r--r-- | Examples/GIFPlot/Python/full/cmap | bin | 0 -> 768 bytes | |||
| -rw-r--r-- | Examples/GIFPlot/Python/full/gifplot.i | 15 | ||||
| -rw-r--r-- | Examples/GIFPlot/Python/full/runme.py | 64 |
5 files changed, 113 insertions, 0 deletions
diff --git a/Examples/GIFPlot/Python/full/Makefile b/Examples/GIFPlot/Python/full/Makefile new file mode 100644 index 0000000..83a7c86 --- /dev/null +++ b/Examples/GIFPlot/Python/full/Makefile @@ -0,0 +1,26 @@ +TOP = ../../.. +SWIG = $(TOP)/../preinst-swig +SWIGOPT = -I../../Include +SRCS = +TARGET = gifplot +INTERFACE = gifplot.i +LIBS = -L../.. -lgifplot +INCLUDES = -I../../Include + +all:: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + INCLUDES='$(INCLUDES)' LIBS='$(LIBS)' SWIGOPT='$(SWIGOPT)' \ + TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' python + +static:: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + INCLUDES='$(INCLUDES)' LIBS='$(LIBS)' SWIGOPT='$(SWIGOPT)' \ + TARGET='mypython' INTERFACE='$(INTERFACE)' python_static + +clean:: + $(MAKE) -f $(TOP)/Makefile python_clean + rm -f $(TARGET).py + rm -f *.gif + +check: all + $(MAKE) -f $(TOP)/Makefile python_run diff --git a/Examples/GIFPlot/Python/full/README b/Examples/GIFPlot/Python/full/README new file mode 100644 index 0000000..52971e4 --- /dev/null +++ b/Examples/GIFPlot/Python/full/README @@ -0,0 +1,8 @@ +This example runs the entire gifplot.h header file through SWIG without +any changes. The script 'runme.py' does something a little more +interesting. You'll have to go look at the header file to get a complete +listing of the functions. + + + + diff --git a/Examples/GIFPlot/Python/full/cmap b/Examples/GIFPlot/Python/full/cmap Binary files differnew file mode 100644 index 0000000..a20c331 --- /dev/null +++ b/Examples/GIFPlot/Python/full/cmap diff --git a/Examples/GIFPlot/Python/full/gifplot.i b/Examples/GIFPlot/Python/full/gifplot.i new file mode 100644 index 0000000..5a7f500 --- /dev/null +++ b/Examples/GIFPlot/Python/full/gifplot.i @@ -0,0 +1,15 @@ +/* Oh what the heck, let's just grab the whole darn header file + and see what happens. */ + +%module gifplot +%{ + +/* Note: You still need this part because the %include directive + merely causes SWIG to interpret the contents of a file. It doesn't + include the right include headers for the resulting C code */ + +#include "gifplot.h" + +%} + +%include gifplot.h diff --git a/Examples/GIFPlot/Python/full/runme.py b/Examples/GIFPlot/Python/full/runme.py new file mode 100644 index 0000000..cb324c8 --- /dev/null +++ b/Examples/GIFPlot/Python/full/runme.py @@ -0,0 +1,64 @@ +# Plot a 3D function +# This example uses the low-level C interface. + +from _gifplot import * +from math import * + +# Here is the function to plot +def func(x,y): + return 5*cos(2*sqrt(x*x+y*y))*exp(-0.3*sqrt(x*x+y*y)) + +# Here are some plotting parameters +xmin = -5.0 +xmax = 5.0 +ymin = -5.0 +ymax = 5.0 +zmin = -5.0 +zmax = 5.0 + +# Grid resolution +nxpoints = 60 +nypoints = 60 + +cmap = new_ColorMap("cmap") +frame = new_FrameBuffer(500,500) +FrameBuffer_clear(frame,BLACK) + +p3 = new_Plot3D(frame,xmin,ymin,zmin,xmax,ymax,zmax) +Plot3D_lookat(p3,2*max([xmax-xmin,ymax-ymin,zmax-zmin])) +Plot3D_autoperspective(p3,40) +Plot3D_rotu(p3,60) +Plot3D_rotr(p3,30) +Plot3D_rotd(p3,10) + +def drawsolid(): + Plot3D_clear(p3,BLACK) + Plot3D_start(p3) + dx = 1.0*(xmax-xmin)/nxpoints + dy = 1.0*(ymax-ymin)/nypoints + cscale = 240.0/(zmax-zmin) + x = xmin + for i in xrange(0,nxpoints): + y = ymin + for j in xrange(0,nypoints): + z1 = func(x,y) + z2 = func(x+dx,y) + z3 = func(x+dx,y+dy) + z4 = func(x,y+dy) + c1 = cscale*(z1-zmin) + c2 = cscale*(z2-zmin) + c3 = cscale*(z3-zmin) + c4 = cscale*(z4-zmin) + c = int((c1+c2+c3+c4)/4) + if (c < 0) : c = 0 + if c > 239 : c = 239 + Plot3D_solidquad(p3,x,y,z1,x+dx,y,z2,x+dx,y+dy,z3,x,y+dy,z4,c+16) + y = y + dy + x = x + dx + +print "Making a nice 3D plot..." +drawsolid() + +FrameBuffer_writeGIF(frame,cmap,"image.gif") +print "Wrote image.gif" + |
