Well, I think our idea was good(maybe even the code too) and I start to think that I make something horribly wrong(because I don't understand openGL all that much) at another place.
I suspect this to be wrong: (horribly)
c++ Code:
Vector axis = heliQ.GetAxis(); //this is in onDisplay btw
glPushMatrix();
glTranslatef(push.x, push.y, push.z);
glPushMatrix();
glRotatef(heliQ.GetRotationAngle(), axis.x, axis.y, axis.z);
drawChopper();
glPopMatrix();
glPopMatrix();
Push being the vector I want to move the helicopter with. Calculated like so: push = push + movement vector. In simulateWorld(called by onIdle) with the time difference and all, but it's not yet implemented.(easiest part)
I do realize it would be easier to draw the helicopter to a given x, y, z coordinate, but the whole modelling would fell apart then :S.