Yes they would, unless the rest pose didn’t have any translation information, which would be weird. But the bottom line is, you have to precisely duplicate in Panda whatever is being done in your original animation system. If the original animation system implicitly multiplies the rest transform, then you need to make your Panda importer do that too.
If you’re not sure whether the original animation system does this or not, it would be best to find that out first, but if you can’t, then you have to experiment and try it both ways in panda. If it almost seems to work one way, that doesn’t necessarily mean you’re close.
Aren’t you creating the animation tables? And didn’t you create the joint table and populate it with the rest transform? So you have the information you need before you started; you don’t have to query this information from Panda. Compose the rest transform that you used to populate the joint table with the animation transform for each frame that you used to populate the animation table. Isn’t that easy to do?
To answer your specific question about querying it from Panda, though, I think you’re confused. characterJoint.getTransform() returns the local transform of the joint reflecting the animation already playing on it. That is to say, it is the values in the animation matrices, for the current frame. By the time you have an animation loaded and playing on a characterJoint, though, it’s too late to modify the animation matrices; you need to modify these at the time you construct the animation tables, not at the time you’re playing them back.
In any case, you certainly wouldn’t decompose the matrix first. Transforms don’t compose componentwise; the whole point of a matrix is to make the concept of “composition” trivial (it’s just a matrix multiply).
The method joint.getTransform() returns the joint’s local transform, relative to its parent. This is the transform as specified by the current frame of the animation, or the rest transform if the model is not currently animated. The method joint.getNetTransform() returns the composition of all of the joint’s inherited transforms, up to the root of the joint hierarchy; thus, it is the “net” transform or global transform of the joint (or, more precisely, the transform in the space of the root of the joint hierarchy). There is no method joint.getLocalTransform(), but maybe you’re thinking of getLocalTransforms(), which returns the list of nodes that will have the local transform automatically applied to them each frame.
David