public void Skin_SetGeometry_SetsGeometry() { // given: var skin = new FbxSkin(""); var mesh = new FbxMesh(""); // require: Assert.AreEqual(0, skin.GetSrcObjectCount()); Assert.AreEqual(0, skin.GetDstObjectCount()); Assert.AreEqual(null, skin.GetGeometry()); Assert.AreEqual(0, mesh.GetSrcObjectCount()); Assert.AreEqual(0, mesh.GetDstObjectCount()); Assert.AreEqual(0, mesh.GetDeformerCount()); // when: skin.SetGeometry(mesh); // then: Assert.AreEqual(0, skin.GetSrcObjectCount()); Assert.AreEqual(1, skin.GetDstObjectCount()); Assert.AreSame(mesh, skin.GetGeometry()); Assert.AreEqual(1, mesh.GetSrcObjectCount()); Assert.AreEqual(0, mesh.GetDstObjectCount()); Assert.AreEqual(1, mesh.GetDeformerCount()); Assert.AreSame(skin, mesh.GetDeformer(0)); }
public void FbxObject_TypedDisconnectAllSrcObjectWithInheritance_DisconnectsAllSrcObjectOfThatType() { // given: var obj = new FbxObject("asdf"); var mesh1 = new FbxMesh("mesh1"); var node = new FbxNode("node"); var light = new FbxLight("light"); obj.ConnectSrcObject(mesh1); obj.ConnectSrcObject(node); obj.ConnectSrcObject(light); // require: Assert.AreEqual(3, obj.GetSrcObjectCount()); Assert.AreSame(mesh1, obj.GetSrcObject(0)); Assert.AreSame(node, obj.GetSrcObject(1)); Assert.AreSame(light, obj.GetSrcObject(2)); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxMesh>()); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxNode>()); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxLight>()); Assert.AreEqual(2, obj.GetSrcObjectCount <FbxNodeAttribute>()); Assert.AreEqual(1, mesh1.GetDstObjectCount()); Assert.AreEqual(1, node.GetDstObjectCount()); Assert.AreEqual(1, light.GetDstObjectCount()); // when: var ret = obj.DisconnectAllSrcObject <FbxNodeAttribute>(); // then: Assert.True(ret); Assert.AreEqual(1, obj.GetSrcObjectCount()); Assert.AreSame(node, obj.GetSrcObject()); Assert.AreSame(node, obj.GetSrcObject(0)); Assert.AreEqual(0, obj.GetSrcObjectCount <FbxMesh>()); Assert.AreEqual(0, obj.GetSrcObjectCount <FbxLight>()); Assert.AreEqual(0, obj.GetSrcObjectCount <FbxNodeAttribute>()); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxNode>()); Assert.AreSame(node, obj.GetSrcObject <FbxNode>()); Assert.AreSame(node, obj.GetSrcObject <FbxNode>(0)); Assert.AreEqual(0, mesh1.GetDstObjectCount()); Assert.AreEqual(1, node.GetDstObjectCount()); Assert.AreEqual(0, light.GetDstObjectCount()); }
public void FbxObject_TypedDisconnectAllSrcObject_DisconnectsAllSrcObjectOfThatType() { // given: var obj = new FbxObject("asdf"); var mesh1 = new FbxMesh("mesh1"); var node = new FbxNode("node"); var mesh2 = new FbxMesh("mesh2"); obj.ConnectSrcObject(mesh1); obj.ConnectSrcObject(node); obj.ConnectSrcObject(mesh2); // require: Assert.AreEqual(3, obj.GetSrcObjectCount()); Assert.AreSame(mesh1, obj.GetSrcObject(0)); Assert.AreSame(node, obj.GetSrcObject(1)); Assert.AreSame(mesh2, obj.GetSrcObject(2)); Assert.AreEqual(2, obj.GetSrcObjectCount <FbxMesh>()); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxNode>()); Assert.AreEqual(1, mesh1.GetDstObjectCount()); Assert.AreEqual(1, node.GetDstObjectCount()); Assert.AreEqual(1, mesh2.GetDstObjectCount()); // when: var ret = obj.DisconnectAllSrcObject <FbxMesh>(); // then: Assert.True(ret); Assert.AreEqual(1, obj.GetSrcObjectCount()); Assert.AreSame(node, obj.GetSrcObject()); Assert.AreSame(node, obj.GetSrcObject(0)); Assert.AreEqual(0, obj.GetSrcObjectCount <FbxMesh>()); Assert.AreEqual(1, obj.GetSrcObjectCount <FbxNode>()); Assert.AreSame(node, obj.GetSrcObject <FbxNode>()); Assert.AreSame(node, obj.GetSrcObject <FbxNode>(0)); Assert.AreEqual(0, mesh1.GetDstObjectCount()); Assert.AreEqual(1, node.GetDstObjectCount()); Assert.AreEqual(0, mesh2.GetDstObjectCount()); }
public void LayerContainer_Create() { // given: // when: var lc = new FbxMesh(""); // then: Assert.AreEqual(0, lc.GetSrcObjectCount()); Assert.AreEqual(0, lc.GetDstObjectCount()); Assert.AreEqual(0, lc.GetLayerCount()); }
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()); }