rotation() makes the object turn around its own point of origin.
If that point of origin is directly at the center of the object, then it will only 'turn' to use your wording. However, if that point of origin is somewhere other than the center, the object will 'seem to move in a circle' where the center of that circle is the point of origin.
If you are calling rotate on a model, you need to make sure you know where that model's origin is-- you are assuming it is at the center of the model, and apparently it is not.
myNode->setRotation(core::vector3df(0,0,0.2f));
//moves the object down once but then does not do anything else
myNode->setRotation( myNode->getRotation()+ core::vector3df(0,0,-0.2f));
//This code rotates the object around some point that is no where near my scene
//I have also tried geting the position of my node and then using the rotateBy commands and they do the same this as above.
Please help
also sorry for the tripple post above I do not know what happend[/code]
also is there a way to set this point of origin? If not how in the world would I have gotten the point of origin moved the model is right where I loaded it and I have not moved it.
You'll have to take a look at the 3d model while in your 3d modelling software (Milkshape, 3ds max, etc.). When you open the model you will be able to tell if its polygons are truly at the model's origin (0,0,0) or if the polygons are shifted a certain distance away. Its pretty common to open or import a particular model and find that the polygons are not centered about the origin. Its kind of hard for me to explain, so just take a look at the model inside of your modelling software.