Need a version of python-Ogre with LMotors in ogreODE


23-05-2007 15:54:21

I couldn't find LMotors in the latest release of the OgreODE wrapper included in python-Ogre.
So I downloaded the source via SVN and tried to build it using Visual Studio. None of the include/output paths in the project file were correct, but I expected that.

Once those were fixed, I noticed that it couldn't find the files for OIS 0.7, since OIS 1.0 was included, which felt kinda confusing since it says on the download instructions page that v1.0 should be used.

That kinda put me off and I don't want to waste hours on that instead of finding a workaround for using LMotors, our deadline is closing in...

But if someone does have a version which works with Eihort (1.4) and has LMotors, I'd be great.
Any ideas on how to either make an LMotor or get the same functionality as one provides would also be useful.


23-05-2007 20:44:57

So LMotors is a motor class which is in OgreODE SVN? and its not wrapped by Python-Ogre?


23-05-2007 21:40:33

No, I meant that LinearMotors (don't remember the exact class name) is not in OgreODE (atleast not in the version which was bound to python), but it is in ODE or so I've been told.

I took a quick peek in the python-Ogre SVN and noticed the Source SnapShot (v0.9a) archive. The ode_0.7 folder in there has a class for Linear Motors.
I'm a bit confused over the "layout" of the files/folders in the repository tho so I might be totally off.

Anyways, I was looking for an LMotor class and was told by someone in the IRC to compile python-ogre myself, which I failed at because of the previously mention confusion and the massive amount of prereqs needed.

I'm downloading the ogreaddons CVS as I type this to see what's in there, but a few pointers about the general structure of it all would be nice.


24-05-2007 02:37:56

Well there are several pieces here. There is Ogre the rendering library, ODE the physics engine, OgreODE which provides a C++ wrapper to ODE with Ogre integration and then there is Python-Ogre which wraps Ogre and several Ogre based libraries.

So if LinearMotors are in the version of ODE the OgreODE currently works with then you need to check if OgreODE supports them. If OgreODE supports it then Python-Ogre almost definitly does. From a quick check of the OgreODE source it appears the (from OgreOdeJoint.h) that OgreODE only supports angular not linear motors.

So in short, this is looks like and OgreODE issue.

In general you should always remember the Python-Ogre is a wrapper so please check the underlying library to make sure it does what you want before asking us if Python-Ogre supports it.


24-05-2007 15:06:05

From a quick check of the OgreODE source it appears the (from OgreOdeJoint.h) that OgreODE only supports angular not linear motors.

So in short, this is looks like and OgreODE issue.

Yes, that's what I meant in my first post. OgreODE doesn't include the LMotors in the latest precompiled release. And what I can see it's not wrapped in the SVN version either.

However, I did not intend to be mean and "demand" that ogreODE and later python-Ogre wraps them right now. I just wondered if anyone has implemented LMotors (or similar functionality) using python-ogre before.

I believed it was already implemented in the SVN version of python-Ogre (perhaps as a separate implementation from the one in ogreODE) because there was a class for it in the snapshot archive I mentioned before, but I probably misunderstood what the archive was a snapshot of.

I'd still like to know how to actually make an LMotor tho, or where to find useful info about them.
The implementation doesn't need to be specific to ogreODE, I assume that LMotors would work in a similar way in other physic engines too (and perhaps not even to python as I know C++ too, but it would help).

Sorry for the confusion, I'm not yet used to navigate through the SVN/CVS-versions since I've mostly dealt with precompiled releases or source snapshots before ;)


24-05-2007 16:00:43

Confusion is probably from the ODE vs OgreOde wrappers..

Python-Ogre has wrappers for ODE (which should support everything in ODE, including LMotors).

It also has a seperate wrapper for OgreODE which is a sperate project that links ODE directly into Ogre in a nice way -- and it looks like the OgreODE project didn't implement LMotor support..

So you can play with it using the ODE module but you will have to link back into Ogre yourself -- and/or have a look at the OgreODE source and see if you can add it there