[geos-devel] Updated SWIG bindings

Charlie Savage cfis at savagexi.com
Tue Aug 28 19:08:53 EDT 2007


Just a quick note...

I exposed a couple more methods in the SWIG bindings and regenerated 
them using SWIG 1.3.31.  I also renamed a large number of the methods in 
the Ruby bindings to be more "ruby" like - so Geometry::equals becomes 
Geometry::eql?, etc.

I also added a geos_ruby project to Mateusz VC++ solution (and fixed a 
minor #include bug when building the C API with VC++).  Its a bit grungy 
in that I hard coded the path to my Ruby compiler, but it should be good 
enough to get someone started.  Also note it creates a file called 
geos.dll which of course can be quite confusing but is required by the 
way Ruby loads libraries.  Thus the built DLL is kept under 
msvc/geos_ruby/debug instead of msvc/debug to avoid any confusion.

If there is interest I can do the same for python.  But I'm not sure how 
much those bindings are used versus the hand-crafted ones from Sean and 
Hobu (kind of silly having 2 sets of bindings if you ask me, but alas).

I also updated the tests a bit, but I'm a bit confused by what is what 
these days.  I see Mateusz added a bunch of unit tests (great) - but how 
do those relate to the older xml tests?  The nice thing about the xml 
tests is that the Ruby code could read them in, run the tests, and 
verify the results.  Obviously that duplicates the C code testing 
itself, but I think its still a good test of the bindings and memory 
management through the c api.

Last - when using the bindings from Ruby (or Python) the lack of a 
Coordinate object is fairly annoying - particularly when dealing with 
points. Any chance it can be exposed via the c api?

Thanks,

Charlie
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.osgeo.org/pipermail/geos-devel/attachments/20070828/51b3c209/smime.bin


More information about the geos-devel mailing list