From: Bernie R. <br...@ec...> - 2004-06-23 01:09:09
|
At 12:07 AM 6/23/2004 +0200, Matthias Baas wrote: >I think the most common tools are Boost.Python, SWIG, Pyrex and ctypes. It >seems you've already agreed on Pyrex. Currently, I'm using Boost.Python >for another project, so I also have a little experience here as well (by >the way, that other project might eventually turn into the second version >of cgkit, my other Open Source project at cgkit.sf.net. I didn't reallize you were the author of cgkit as well. I use it all the time! >Now to Boost.Python: it actually took me to while to get started with it. >Before you can actually do the very first tests you have to download a >~13MB package (compared to ~180KB for Pyrex) and compile the Boost.Python >runtime That's why I never really got into Boost Python -- I simply didn't have time to go through all that, I needed to get something running for a specific project. >As ODE has a rather small API, and the "official" API is C anyway, I'd >probably tend to stick to Pyrex. As this is an Open Source project we >should encourage other people to have a look at the code so that they >might contribute something. And I think by using Pyrex we make it much >easier to enable them to compile the module themselves. Pyrex is a small >tool and it's easy to install and try out. Agreed. >5) Trimesh support? > >I suppose, everyone wants to have that, right? ;-) >But how do we pass the data? I think the more basic question is "where does the data come from?". My guess is that most of the time it will come from a 3D engine of some kind. I don't like the overhead involved in converting arrays of vertices and triangle indices from C (the language the engine is written in) into Python, and then from Python back into C for ODE to use. I think the more common case by far will be simply passing the data from the 3D engine to ODE directly. Perhaps this can be done using Python's array module (not the one in Numeric, the other one). Something to explore. >6) double vs float. What type do we use? Can't we just change the typedef for dReal, and rebuild with the appropriate version of ODE? >7) What build system do we use? > >I would really recommend using the distutils as this is the standard way >for distributing Python extension modules. It has the advantage that >building the module works the same on every platform. Agreed. >8) Shall we try to implement an XODE import/export in Python? I've been trying to find information about XODE, and have had no luck. Am I just looking in the wrong places? >PS: I'm yet from another corner of the world, I'm from Germany... This is turning out to be a very international project! :-) -- Bernie Roehl University of Waterloo Dept of Electrical and Computer Engineering Mail: br...@ec... Voice: (519) 888-4567 x 2607 [work] URL: http://ece.uwaterloo.ca/~broehl |