Skip navigation.
Home

Development Contributions

gazihan's picture

IBDS patch: fixed step size for precise collisions

Right now, the binarySearch for collisions stop when the distance for the first contact is within the collision tolerance. For high tolerance values this seems to be ok, but high tolerance creates less accurate simulations.

When the tolerance is low, the while loop in Simulation::binarySearch() actually gets executed and the simulation ends up stepping lower than the real step size. This is easily verified by doing sim->getCollisionDetection ()->setTolerance (0.0001) in CollisionModel.cpp. As the bodies start hitting the ground, the actual timestep varies as can be seen by the time display on the render window. I think this is bad, since most applications would expect the simulation to have the same step size everytime it is stepped. Attached is a patch that forces Simulation::timeStep() not to return till the expected timestep is reached.

http://www.impulse-based.de/phpBB2/viewtopic.php?p=151

gazihan's picture

Calculating Jacobian without DH Parameters

This is not exactly a development contribution in terms of code, it's more like an idea. Nevertheless, I wanted to note that I was helpful to someone doing some development by leading them to the right direction on the ode-users mailing list.

gazihan's picture

Curlpp acknowledgement of my patch

Curlpp had a recent release that acknowledged me by name for submitting a patch.

gazihan's picture

IBDS const correctness

Here is a patch that improves const-correctness in vector and matrix classes of IBDS.

gazihan's picture

Fixed QOgreWidget by djbe to work in Linux

I recently decided to start using Ogre in my research. I was about to write an Ogre widget for Qt before I came across this post on Ogre forums. It was a very nice and clean QOgreWidget, so I had to use it instead of writing one on my own like I did with QOsgWidget for OpenSceneGraph.

The port was simple, I only had to change a couple of little things. This widget has to make its way to the Ogre wiki since the current one is not self-contained and clean like this one.

I'm attaching the patch to this post (linux.patch). It is meant to be applied to the original code in here, which was provided right here.

I'm also attaching the full source (QOgreWidget.tgz) in case you don't want to mess with a patch.

Here are the explanations of the changes I made, with the order as it is in the patch:

1. Semicolon missing, I can see I'm the first person to try it in a platform other than Mac:)
2. In Linuxs, we are case sensitives. (/usr/local/include/OGRE)
3. It would whine when linking that there is no Ogre.
4. I moved that Ogre to the macx section as it seems that's how you do it in a Mac (I have no idea). I didn't want to break it in Mac.
5. Library and include stuff for unix. The code had ../Data/blah.cfg, so the executable had to go to somewhere in build/something. So I made it go to build/bin.
6. Need to give the plugins directory. I hope this does not break Mac. Then again, I'm not sure. I hate the cfg file handling.

gazihan's picture

Boost.Python does not like -lGL

So Boost.Python is this great library that lets you have Python bindings for your application and I gave it a try since scripting is more enjoyable than compiling.

But apparently it hates -lGL and std::cerr at the same time. When I compile my prog with -lGL and want to use std::cerr, I get a segmentation fault... This is retarded.

Syndicate content