beginner questions on embedding/extending python with C++
Roman Yakovenko
roman.yakovenko at gmail.com
Tue Aug 8 07:24:58 EDT 2006
On 8 Aug 2006 02:28:31 -0700, Qun Cao <quncao at gmail.com> wrote:
> Hi Everyone,
>
> I am a beginner on cross language development. My problem at hand is to
> build a python interface for a C++ application built on top of a 3D
> game engine. The purpose of this python interface is providing a
> convenient scripting toolkit for the application.
As for me, Boost.Python is the way to go.
Fortunately you are not the first one, and I hope not the last one :-) :
http://language-binding.net/pyplusplus/quotes.html#who-is-using-pyplusplus
1. Python-OGRE
* http://lakin.weckers.net/index_ogre_python.html
* http://tinyurl.com/mvj8d
2. http://cgkit.sourceforge.net/ - contains Python bindings for Maya C++ SDK
3. PyOpenSG - https://realityforge.vrsource.org/view/PyOpenSG/WebHome
The goal of PyOpenSG is to provide python bindings for the OpenSG
scene graph.
> Since the main program is still going to be the C++ application, I
> guess we need to embedding the python scripts in the C++ code.
Boost.Python is the only tool that provides complete functionality(
extending and
embedding ). Also I think cgkit is dealing with the problem too.
> But for this to work, the python code needs to know the Player class,
> is it right?
Right.
Does that mean I need to build a python wrapper class for
> Player and "import Player" in the python code? But because this
> application is built on top of a game engine, Player class inherits
> many classes from there, I cannot possibly wrapping them all, right?
It depends on how much functionality you want to export.
> Also, some global objects are probably needed in this code of adding
> players, how can the python code access them?
Boost.Python provides the functionality you need.
> Btw, if you can point me to any source code of non-trivial projects
> utilizing SWIG/Boost.Python, that would be very helpful. I found the
> examples on the tutorials are far too simple.
Those are tutorials, they should be simple, right :-) ?
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
More information about the Python-list
mailing list