public void _PrintFbxObject(FbxObject obj, TextWriter writer) { writer.WriteLine("${0}", PrintObjectID(obj)); // extra $ for easy text search writer.WriteLine(" Name = {0}", quote(obj.GetName())); writer.WriteLine(" ClassId = {0}", obj.GetType().Name /*obj.GetRuntimeClassId().GetName()*/); writer.WriteLine(" UniqueId = {0}", obj.GetUniqueID()); writer.WriteLine(" GetScene() = {0}", PrintObjectID(obj.GetScene())); // writer.Write(" GetDocument() = {0}", PrintObjectID(obj.GetDocument())); // writer.Write(" GetRootDocument() = {0}", PrintObjectID(obj.GetRootDocument())); writer.WriteLine(" SrcObjectCount = {0}", obj.GetSrcObjectCount()); int i; for (i = 0; i < obj.GetSrcObjectCount(); i++) { FbxObject srcObj = obj.GetSrcObject(i); writer.WriteLine(" #{0} {1}", i, PrintObjectID(srcObj)); } writer.WriteLine(" DstObjectCount = {0}", obj.GetDstObjectCount()); for (i = 0; i < obj.GetDstObjectCount(); i++) { FbxObject dstObj = obj.GetDstObject(i); writer.WriteLine(" #{0} {1}", i, PrintObjectID(dstObj)); } var prop = obj.GetFirstProperty(); int n = 0; while (prop != null && prop.IsValid()) { n++; prop = obj.GetNextProperty(prop); } writer.WriteLine(" Properties {0}", n); prop = obj.GetFirstProperty(); n = 0; while (prop != null && prop.IsValid()) { writer.WriteLine(" #{0} {1}", n, PrintPropertyID(prop)); PrintProperty(prop, writer, true); n++; prop = obj.GetNextProperty(prop); } writer.WriteLine(" SrcPropertyCount = {0}", obj.GetSrcPropertyCount()); for (i = 0; i < obj.GetSrcPropertyCount(); i++) { prop = obj.GetSrcProperty(i); writer.WriteLine(" #{0} {1}", i, PrintPropertyID(prop)); } writer.WriteLine(" DstPropertyCount = {0}", obj.GetDstPropertyCount()); for (i = 0; i < obj.GetDstPropertyCount(); i++) { prop = obj.GetDstProperty(i); writer.WriteLine(" #{0} {1}", i, PrintPropertyID(prop)); } if (obj.RootProperty.IsValid()) { writer.WriteLine(" RootProperty = {0}", PrintPropertyID(obj.RootProperty)); PrintProperty(obj.RootProperty, writer); } }