Jean-Sébastien Guay wrote:
Hello Troy,
I've been doing a bunch of work with osg recently. I like it and
badly miss some boost.python bindings. I'd be very interested to
have a look at the code here, maybe pitch in a bit. Is there a git
archive I can clone, and a failing test I can run?
I was thinking of setting up a googlecode project for this work, because
there is at least one other person who might be interested in working
with me on it (Paul Melis). I'll see if I can do that soon.
I prefer to work with svn though (used to be CVS was oldschool, now it's
SVN, I know I'm behind the times), hope that's not a problem for you.
Doesn't really matter to me.
I would have liked to get the basic functionality working before setting
that up because there's already another project trying to wrap OSG to
python (osgSwig), so I'd like to be able to prove that my solution is
competitive with that one.
Competitive isn't an issue, as swig and boost.python bindings aren't
really compatible (or is that 'sip' bindings that aren't compatible?).
Personally I prefer a manual approach over automatically generated
bindings; apparently for the same reasons that some compiler writers
insist on handwritten recursive descent parsers. I know there are smart
people around that have worked long and hard on generators, I don't want
to start any fights. YMMV.
For reference, osgSwig have been having trouble lately wrapping the
classes derived (multiply) from osg::MixinVector<T>, and have relied on
patches to OSG that remove that derivation (essentially going back to
the OSG 2.6 versions of those classes). On the other hand, using
boost.python I can wrap things as I want, and I don't have any problem
wrapping classes derived from MixinVector<T>, so I think it's a better
route in the long run.
Yes exactly. Being intrusive is just not an option, for one. More
examples are easy to come up with, e.g. wants fine-grained control over
the python interface to provide things like conversions to native python
types (datetime, numpy arrays), or to provide slicing notation and
iterators on a node's children, say
node.children[2:7]
Anyways, yeah, I'll set up that project so you can run the actual code
and see the problem firsthand, hopefully that will make it easier to
help out.
Looking forward to it.
-t
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig