assimp/assimp — pull request #231 by frederikaalund (2014-03-09 15:39:42+00:00)
Title: Added unparsed FBX properties to the aiNode's metadata.

This allows the user to extract any unparsed node properties from the scene
graph. E.g., extracting properties set under "extra attributes" in Autodesk Maya.

The commit consists of three changes:
* Added the method GetUnparsedProperties() on the PropertyTree.
* Modified SetupNodeMetadata(...) to include all unparsed properties in the aiNode's metadata.
* Deprecated the enum MetadataKeys. The aiNode class now has dynamic metadata and it can't be handled by a simple enum.

This commit builds with Visual Studio 2013 (November 2013 CTP). I have only used C++03 features to remain compatible with the main branch.

I have successfully imported user-defined "extra attributes" as set in Autodesk Maya using the new metadata from this commit. Specifically, I created a spot light node with an "extra attribute" of type float in the Crytek Sponza saved as FBX. This "extra attribute" was then present in the aiNode's metadata along with the two existing properties ("UserProperties" and "IsNull") and 4 other unparsed properties ("RotationActive", "ScalingMax", "InheritType", "DefaultAttributeIndex"). The latter 4 properties may not be useful in practice so you might want to filter them out as noise in later commit.