protected void _PrintFbxNode(FbxNode obj, TextWriter writer) { writer.WriteLine(" Parent = {0}", PrintObjectID(obj.GetParent())); writer.WriteLine(" MultiLayer = {0}", obj.MultiLayer); writer.WriteLine(" MultiTake = {0}", obj.MultiTake); writer.WriteLine(" Shading = {0}", obj.Shading); writer.WriteLine(" Culling = {0}", obj.Culling); writer.WriteLine(" ChildCount = {0}", obj.GetChildCount()); int i; for (i = 0; i < obj.GetChildCount(); i++) { FbxNode child = obj.GetChild(i); writer.WriteLine(" #{0} {1}", i, PrintObjectID(child)); } writer.WriteLine(" NodeAttribute = {0}", PrintObjectID(obj.GetNodeAttribute())); writer.WriteLine(" NodeAttributeCount = {0}", obj.GetNodeAttributeCount()); for (i = 0; i < obj.GetNodeAttributeCount(); i++) { FbxNodeAttribute attr = obj.GetNodeAttributeByIndex(i); writer.WriteLine(" #{0} {1}", i, PrintObjectID(attr)); } // TODO: Node Evaluation Functions writer.WriteLine(" MaterialCount = {0}", obj.GetMaterialCount()); for (i = 0; i < obj.GetMaterialCount(); i++) { FbxSurfaceMaterial mat = obj.GetMaterial(i); writer.WriteLine(" #{0} {1}", i, PrintObjectID(mat)); } }
protected void _AcceptFbxNode(FbxNode node, ISet <object> visitedObjects) { if (node.GetParent() != null) { Accept(node.GetParent(), visitedObjects); } int i; for (i = 0; i < node.GetChildCount(); i++) { Accept(node.GetChild(i), visitedObjects); } //if (node.GetTarget() != null) //{ // Accept(node.GetTarget()); //} //if (node.GetTargetUp() != null) //{ // Accept(node.GetTargetUp()); //} for (i = 0; i < node.GetNodeAttributeCount(); i++) { Accept(node.GetNodeAttributeByIndex(i), visitedObjects); } for (i = 0; i < node.GetMaterialCount(); i++) { Accept(node.GetMaterial(i), visitedObjects); } }