public void Node_AddMaterial_SetsMaterialScene() { // given: var scene = new FbxScene(""); var root = scene.GetRootNode(); var node = new FbxNode(""); var mat = new FbxSurfacePhong(""); root.AddChild(node); // require: Assert.AreEqual(4, scene.GetSrcObjectCount()); Assert.AreEqual(scene.GetRootNode(), scene.GetSrcObject(0)); Assert.AreEqual(scene.GetGlobalSettings(), scene.GetSrcObject(1)); Assert.AreEqual(scene.GetAnimationEvaluator(), scene.GetSrcObject(2)); Assert.AreEqual(node, scene.GetSrcObject(3)); Assert.AreEqual(0, scene.GetDstObjectCount()); Assert.AreEqual(2, scene.GetNodeCount()); Assert.AreEqual(scene.GetRootNode(), scene.GetNode(0)); Assert.AreEqual(node, scene.GetNode(1)); Assert.AreEqual(0, node.GetSrcObjectCount()); Assert.AreEqual(2, node.GetDstObjectCount()); Assert.AreEqual(root, node.GetDstObject(0)); Assert.AreEqual(scene, node.GetDstObject(1)); Assert.AreEqual(scene, node.GetScene()); Assert.AreEqual(0, node.GetMaterialCount()); Assert.AreEqual(0, mat.GetSrcObjectCount()); Assert.AreEqual(0, mat.GetDstObjectCount()); Assert.AreEqual(null, mat.GetScene()); // when: node.AddMaterial(mat); // then: Assert.AreEqual(5, scene.GetSrcObjectCount()); Assert.AreEqual(mat, scene.GetSrcObject(4)); Assert.AreEqual(2, scene.GetNodeCount()); Assert.AreEqual(scene.GetRootNode(), scene.GetNode(0)); Assert.AreEqual(node, scene.GetNode(1)); Assert.AreEqual(1, node.GetSrcObjectCount()); Assert.AreEqual(mat, node.GetSrcObject(0)); Assert.AreEqual(1, node.GetMaterialCount()); Assert.AreEqual(mat, node.GetMaterial(0)); Assert.AreEqual(0, mat.GetSrcObjectCount()); Assert.AreEqual(2, mat.GetDstObjectCount()); Assert.AreEqual(node, mat.GetDstObject(0)); Assert.AreEqual(scene, mat.GetDstObject(1)); Assert.AreEqual(scene, mat.GetScene()); }
public void Node_SetNodeAttribute_SetsNodeAttribute() { // given: var node = new FbxNode("Node"); var nullattr = new FbxNull("nullattr"); // require: Assert.AreEqual(0, node.GetSrcObjectCount()); Assert.AreEqual(0, node.GetDstObjectCount()); Assert.AreEqual(0, node.GetSrcPropertyCount()); Assert.AreEqual(0, node.GetDstPropertyCount()); Assert.AreEqual(0, node.GetNodeAttributeCount()); Assert.AreEqual(null, node.GetNodeAttribute()); Assert.AreEqual(-1, node.GetDefaultNodeAttributeIndex()); Assert.AreEqual(0, nullattr.GetSrcObjectCount()); Assert.AreEqual(0, nullattr.GetDstObjectCount()); Assert.AreEqual(0, nullattr.GetSrcPropertyCount()); Assert.AreEqual(0, nullattr.GetDstPropertyCount()); Assert.AreEqual(0, nullattr.GetNodeCount()); // when: node.SetNodeAttribute(nullattr); // then: Assert.AreEqual(1, node.GetSrcObjectCount()); Assert.AreEqual(nullattr, node.GetSrcObject(0)); Assert.AreEqual(0, node.GetDstObjectCount()); Assert.AreEqual(0, node.GetSrcPropertyCount()); Assert.AreEqual(0, node.GetDstPropertyCount()); Assert.AreEqual(1, node.GetNodeAttributeCount()); Assert.AreEqual(nullattr, node.GetNodeAttribute()); Assert.AreEqual(0, node.GetDefaultNodeAttributeIndex()); Assert.AreEqual(nullattr, node.GetNodeAttributeByIndex(0)); Assert.AreEqual(0, nullattr.GetSrcObjectCount()); Assert.AreEqual(1, nullattr.GetDstObjectCount()); Assert.AreEqual(node, nullattr.GetDstObject(0)); Assert.AreEqual(0, nullattr.GetSrcPropertyCount()); Assert.AreEqual(0, nullattr.GetDstPropertyCount()); Assert.AreEqual(1, nullattr.GetNodeCount()); Assert.AreEqual(node, nullattr.GetNode()); Assert.AreEqual(node, nullattr.GetNode(0)); }
public void Node_AddChild_AddsChild() { // given: var node1 = new FbxNode("Node1"); var node2 = new FbxNode("Node2"); // require: Assert.AreEqual(0, node1.GetSrcObjectCount()); Assert.AreEqual(0, node1.GetDstObjectCount()); Assert.AreEqual(0, node1.GetSrcPropertyCount()); Assert.AreEqual(0, node1.GetDstPropertyCount()); Assert.AreEqual(0, node1.GetChildCount()); Assert.AreEqual(null, node1.GetParent()); Assert.AreEqual(0, node2.GetSrcObjectCount()); Assert.AreEqual(0, node2.GetDstObjectCount()); Assert.AreEqual(0, node2.GetSrcPropertyCount()); Assert.AreEqual(0, node2.GetDstPropertyCount()); Assert.AreEqual(0, node2.GetChildCount()); Assert.AreEqual(null, node1.GetParent()); // when: node1.AddChild(node2); // then: Assert.AreEqual(1, node1.GetSrcObjectCount()); Assert.AreEqual(node2, node1.GetSrcObject(0)); Assert.AreEqual(0, node1.GetDstObjectCount()); Assert.AreEqual(0, node1.GetSrcPropertyCount()); Assert.AreEqual(0, node1.GetDstPropertyCount()); Assert.AreEqual(1, node1.GetChildCount()); Assert.AreEqual(node2, node1.GetChild(0)); Assert.AreEqual(null, node1.GetParent()); Assert.AreEqual(0, node2.GetSrcObjectCount()); Assert.AreEqual(1, node2.GetDstObjectCount()); Assert.AreEqual(node1, node2.GetDstObject(0)); Assert.AreEqual(0, node2.GetSrcPropertyCount()); Assert.AreEqual(0, node2.GetDstPropertyCount()); Assert.AreEqual(0, node2.GetChildCount()); Assert.AreEqual(node1, node2.GetParent()); }
public void RootNode_AddChild_AddsNodeSubtree() { // given: var scene = new FbxScene("TheScene"); var root = scene.GetRootNode(); var node2 = new FbxNode("ChildNode"); var node3 = new FbxNode("ChildNode"); node2.AddChild(node3); // require: Assert.AreEqual(3, scene.GetSrcObjectCount()); Assert.AreEqual(root, scene.GetSrcObject(0)); Assert.AreEqual(scene.GetGlobalSettings(), scene.GetSrcObject(1)); Assert.AreEqual(scene.GetAnimationEvaluator(), scene.GetSrcObject(2)); Assert.AreEqual(0, scene.GetDstObjectCount()); Assert.AreEqual(1, scene.GetNodeCount()); Assert.AreEqual(root, scene.GetNode(0)); Assert.AreEqual(0, root.GetSrcObjectCount()); Assert.AreEqual(1, root.GetDstObjectCount()); Assert.AreEqual(scene, root.GetDstObject(0)); Assert.AreEqual(0, root.GetChildCount()); Assert.AreEqual(scene, root.GetScene()); Assert.AreEqual(1, node2.GetSrcObjectCount()); Assert.AreEqual(node3, node2.GetSrcObject(0)); Assert.AreEqual(0, node2.GetDstObjectCount()); Assert.AreEqual(1, node2.GetChildCount()); Assert.AreEqual(node3, node2.GetChild(0)); Assert.AreEqual(null, node2.GetParent()); Assert.AreEqual(null, node2.GetScene()); Assert.AreEqual(0, node3.GetSrcObjectCount()); Assert.AreEqual(1, node3.GetDstObjectCount()); Assert.AreEqual(node2, node3.GetDstObject(0)); Assert.AreEqual(0, node3.GetChildCount()); Assert.AreEqual(node2, node3.GetParent()); Assert.AreEqual(null, node3.GetScene()); // when: root.AddChild(node2); // then: Assert.AreEqual(5, scene.GetSrcObjectCount()); Assert.AreEqual(root, scene.GetSrcObject(0)); Assert.AreEqual(scene.GetGlobalSettings(), scene.GetSrcObject(1)); Assert.AreEqual(scene.GetAnimationEvaluator(), scene.GetSrcObject(2)); Assert.AreEqual(node2, scene.GetSrcObject(3)); Assert.AreEqual(node3, scene.GetSrcObject(4)); Assert.AreEqual(0, scene.GetDstObjectCount()); Assert.AreEqual(3, scene.GetNodeCount()); Assert.AreEqual(root, scene.GetNode(0)); Assert.AreEqual(node2, scene.GetNode(1)); Assert.AreEqual(node3, scene.GetNode(2)); Assert.AreEqual(1, root.GetSrcObjectCount()); Assert.AreEqual(node2, root.GetSrcObject(0)); Assert.AreEqual(1, root.GetDstObjectCount()); Assert.AreEqual(scene, root.GetDstObject(0)); Assert.AreEqual(1, root.GetChildCount()); Assert.AreEqual(node2, root.GetChild(0)); Assert.AreEqual(scene, root.GetScene()); Assert.AreEqual(1, node2.GetSrcObjectCount()); Assert.AreEqual(node3, node2.GetSrcObject(0)); Assert.AreEqual(2, node2.GetDstObjectCount()); Assert.AreEqual(root, node2.GetDstObject(0)); Assert.AreEqual(scene, node2.GetDstObject(1)); Assert.AreEqual(1, node2.GetChildCount()); Assert.AreEqual(node3, node2.GetChild(0)); Assert.AreEqual(root, node2.GetParent()); Assert.AreEqual(scene, node2.GetScene()); Assert.AreEqual(0, node3.GetSrcObjectCount()); Assert.AreEqual(2, node3.GetDstObjectCount()); Assert.AreEqual(node2, node3.GetDstObject(0)); Assert.AreEqual(scene, node3.GetDstObject(1)); Assert.AreEqual(0, node3.GetChildCount()); Assert.AreEqual(node2, node3.GetParent()); Assert.AreEqual(scene, node3.GetScene()); }
public void Scene_AddObjectWithSrcObjects_AddsAllSrcObjects() { // given: var scene = new FbxScene("s"); var node = new FbxNode("n"); var m1 = new FbxMesh("m1"); var m2 = new FbxMesh("m2"); var v = new FbxVideo("v"); var c = new FbxCluster("c"); var n2 = new FbxNode("n2"); var c2 = new FbxCluster("c2"); node.ConnectSrcObject(m1); node.ConnectSrcObject(m2); node.ConnectSrcObject(v); node.ConnectSrcObject(c); c.ConnectSrcObject(n2);; n2.ConnectSrcObject(c2); // require: Assert.AreEqual(3, scene.GetSrcObjectCount()); Assert.AreEqual(4, node.GetSrcObjectCount()); Assert.AreSame(m1, node.GetSrcObject(0)); Assert.AreSame(m2, node.GetSrcObject(1)); Assert.AreSame(v, node.GetSrcObject(2)); Assert.AreSame(c, node.GetSrcObject(3)); Assert.AreEqual(0, node.GetDstObjectCount()); Assert.Null(node.GetScene()); Assert.AreEqual(0, m1.GetSrcObjectCount()); Assert.AreEqual(1, m1.GetDstObjectCount()); Assert.AreSame(node, m1.GetDstObject(0)); Assert.Null(m1.GetScene()); Assert.AreEqual(0, m2.GetSrcObjectCount()); Assert.AreEqual(1, m2.GetDstObjectCount()); Assert.AreSame(node, m2.GetDstObject(0)); Assert.Null(m2.GetScene()); Assert.AreEqual(0, v.GetSrcObjectCount()); Assert.AreEqual(1, v.GetDstObjectCount()); Assert.AreSame(node, v.GetDstObject(0)); Assert.Null(v.GetScene()); Assert.AreEqual(1, c.GetSrcObjectCount()); Assert.AreSame(n2, c.GetSrcObject());; Assert.AreEqual(1, c.GetDstObjectCount()); Assert.AreSame(node, c.GetDstObject(0)); Assert.Null(c.GetScene()); Assert.AreEqual(1, n2.GetSrcObjectCount()); Assert.AreSame(c2, n2.GetSrcObject());; Assert.AreEqual(1, n2.GetDstObjectCount()); Assert.AreSame(c, n2.GetDstObject(0)); Assert.Null(n2.GetScene()); Assert.AreEqual(0, c2.GetSrcObjectCount()); Assert.AreEqual(1, c2.GetDstObjectCount()); Assert.AreSame(n2, c2.GetDstObject(0)); Assert.Null(c2.GetScene()); // when: scene.ConnectSrcObject(node); // then: Assert.AreEqual(10, scene.GetSrcObjectCount()); Assert.AreSame(node, scene.GetSrcObject(3)); Assert.AreSame(m1, scene.GetSrcObject(4)); Assert.AreSame(m2, scene.GetSrcObject(5)); Assert.AreSame(v, scene.GetSrcObject(6)); Assert.AreSame(c, scene.GetSrcObject(7)); Assert.AreSame(n2, scene.GetSrcObject(8)); Assert.AreSame(c2, scene.GetSrcObject(9)); Assert.AreEqual(4, node.GetSrcObjectCount()); Assert.AreSame(m1, node.GetSrcObject(0)); Assert.AreSame(m2, node.GetSrcObject(1)); Assert.AreSame(v, node.GetSrcObject(2)); Assert.AreSame(c, node.GetSrcObject(3)); Assert.AreEqual(1, node.GetDstObjectCount()); Assert.AreSame(scene, node.GetDstObject(0)); Assert.AreSame(scene, node.GetScene()); Assert.AreEqual(0, m1.GetSrcObjectCount()); Assert.AreEqual(2, m1.GetDstObjectCount()); Assert.AreSame(node, m1.GetDstObject(0)); Assert.AreSame(scene, m1.GetDstObject(1)); Assert.AreSame(scene, m1.GetScene()); Assert.AreEqual(0, m2.GetSrcObjectCount()); Assert.AreEqual(2, m2.GetDstObjectCount()); Assert.AreSame(node, m2.GetDstObject(0)); Assert.AreSame(scene, m2.GetDstObject(1)); Assert.AreSame(scene, m2.GetScene()); Assert.AreEqual(0, v.GetSrcObjectCount()); Assert.AreEqual(2, v.GetDstObjectCount()); Assert.AreSame(node, v.GetDstObject(0)); Assert.AreSame(scene, v.GetDstObject(1)); Assert.AreSame(scene, v.GetScene()); Assert.AreEqual(1, c.GetSrcObjectCount()); Assert.AreSame(n2, c.GetSrcObject(0)); Assert.AreEqual(2, c.GetDstObjectCount()); Assert.AreSame(node, c.GetDstObject(0)); Assert.AreSame(scene, c.GetDstObject(1)); Assert.AreSame(scene, c.GetScene()); Assert.AreEqual(1, n2.GetSrcObjectCount()); Assert.AreSame(c2, n2.GetSrcObject());; Assert.AreEqual(2, n2.GetDstObjectCount()); Assert.AreSame(c, n2.GetDstObject(0)); Assert.AreSame(scene, n2.GetDstObject(1)); Assert.AreSame(scene, n2.GetScene()); Assert.AreEqual(0, c2.GetSrcObjectCount()); Assert.AreEqual(2, c2.GetDstObjectCount()); Assert.AreSame(n2, c2.GetDstObject(0)); Assert.AreSame(scene, c2.GetDstObject(1)); Assert.AreSame(scene, c2.GetScene()); }