coordinate system parent child relation


I am currently working on a project where we’re exporting a blender 2.5.2 scene with cut out animation to the c++ library openframeworks to modify the data and play the animation in realtime. to do this i developed some sort of xml protocol, that holds, vertices, image textures, camera and animation.

Since we’re doing cutout I thought the easiest way to animate is simply parenting and then rotating planes with images of parts of the body and move the master parent around to make the character move. This works quite well despite the limited functionality.

Now to store some disk space and speed things up. this animation is stored as keyframes which represent an FCurve with handler, point etc… within the xml and the animated. This works for non parented objects. But as soon as an object is a child, my coordinates get really messy and everything is too far off apart. Probably because I used a workflow like this for rendering pushMatrix();translate();drawObject();drawChild();popMatrix()

After stumbling upon this discussion, I tried to export with absolute coordinates by using the objects matrix and rendered like this: pushMatrix();translate();drawObject();popMatrix();drawChild(); Now everything was in order, but only when I’m not animating. As soon as I animate, I get relative coordinates.

So I have the same question as the last poster in the link above: is this behaviour of how coordinate data is stored documented somehow. Or how are other exporters, like collada doing it?

thank you