This will recurse the tree and call setCurrentFrameInternal on each node.
This method can be overriden, currently the only meaningful implementation is AnimClip.
The problem was that the invokeMethod between the AnimationReader thread
and the main thread was failing, because FBXGeometry* wasn't a registered meta type.
So, I ended up normalizing the AnimationReader class to be more like GeometryReader,
in that it uses singles and slots to communicate success and failure, rather then
invokeMethod.
* Removed validation logic from Resource class, Qt does this internally and is more
standards compliant. This should result in more accurate caching and faster resource
fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.
* NetworkGeometry now uses multiple Resource objects to download
the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
have to poll it to determine when loading is complete (except for textures *sigh*)
Some functionality was removed
* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.
* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
This can result in a pop when switching avatars, and there's no longer a default
if avatar loading fails.
When TRUST_BIND_TRANSFORM is defined in AnimSkeleton, the bind pose is taken
from the FBXJoint::bindTransform field, which is correct for all joints
bound to actual geometry. Basically it's not trust worthy for bones NOT bound to anything.
When TRUST_BIND_TRANSFORM is not defined, the bind pose is taken from the other
FBXJoint fields. Unfortunatly these poses are NOT the bind pose, but instead
are taken from the FBX files 'resting' pose. i.e. frame 0.
std::vector.reserve() and raw access do not mix.
raw access will only work if you push_back elements onto the vector
first. However this worked fine on MacOSX, probably due to differences
in STL implementations.
Some code clean up and some commented out debugging lines.
Debug rendering of animaions of fight club model is not working.
Not sure what frame these transformations are in.