SWIG Question


22-11-2005 20:40:43

I'm trying to get ODN to work with the new 1.0.6 Ogre, however one quick problem...

Swig is generating:

SWIGEXPORT void SWIGSTDCALL CSharp_RenderSystem_addListener(void * jarg1, void * jarg2) {
Ogre::RenderSystem *arg1 = (Ogre::RenderSystem *) 0 ;
Listener *arg2 = (Listener *) 0 ;

arg1 = (Ogre::RenderSystem *)jarg1;
arg2 = (Listener *)jarg2;


I need to make sure it's generating RenderSystem::Listener, instead of Listener, how would I go about this?

(Listener is a class inside the RenderSystem class, so it looks like it's confusing SWIG.)


22-11-2005 20:50:21

Short answer (read: what I did for now): %ignore addListener and removeListener :wink:

IIRC, SWIG doesn't support nested classes. We'll probably need to find a workaround for that one...


22-11-2005 20:53:24

Thanks for the prompt reply -

The code will work if the scopies can be added in - I was curious if it was possible to force something it would create to something else. (Not sure if that made sense...)


24-11-2005 06:31:06

Might as well use this same thread...for another SWIG question.

First off, I hate SWIG. The lack of documentation of SWIG actually.
I am able to manually add wrappers in a fast fashion - if I were to manually wrap bits on my end, how hard is it for someone to do the SWIG interfaces for the wrappers I already wrote? :)

Or would anyone mind if I provided _completed_ code for some of these wrappers?

If that's fine, would there be any problem with compiling in a ogrebindings_manual.cpp in the OgreBindings project? And a OgreBindingsPINVOKE_Manual.cs for the OgreNet project.

Please say this will not cause too many problems, I would be able to help out a lot more on my end (hopefully).



24-11-2005 08:57:22

Can't say about the manual wrapping, but...

The lack of documentation of SWIG

481 pages of documentation aren't enough for you?


24-11-2005 12:31:46

Nope, 800+ pages is the only amount of good documentation I will allow. :)

I take back what I said, my apologies, and say this instead: The lack of C# examples and information + SWIG.

I have a hard time using this documentation to learn the beginnings of something, but it's perfect to add on to what I know (assuming I knew anything regarding SWIG). And that initial getting started documentation is what I need.

I'm going through the supplied examples - that previously i thought were limited, but might be helpful now.