public new static FbxImplementation Create(FbxObject pContainer, string pName) { global::System.IntPtr cPtr = fbx_wrapperPINVOKE.FbxImplementation_Create__SWIG_1(FbxObject.getCPtr(pContainer), pName); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); return(ret); }
public new static FbxImplementation Create(FbxManager pManager, string pName) { global::System.IntPtr cPtr = FbxWrapperNativePINVOKE.FbxImplementation_Create__SWIG_0(FbxManager.getCPtr(pManager), pName); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); return(ret); }
public FbxImplementation GetImplementation(int pIndex, FbxImplementationFilter pCriteria) { global::System.IntPtr cPtr = fbx_wrapperPINVOKE.FbxObject_GetImplementation__SWIG_0(swigCPtr, pIndex, FbxImplementationFilter.getCPtr(pCriteria)); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); return(ret); }
public FbxImplementation GetImplementation(int pIndex) { global::System.IntPtr cPtr = fbx_wrapperPINVOKE.FbxObject_GetImplementation__SWIG_1(swigCPtr, pIndex); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); return(ret); }
public FbxImplementation GetDefaultImplementation() { global::System.IntPtr cPtr = fbx_wrapperPINVOKE.FbxObject_GetDefaultImplementation(swigCPtr); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); return(ret); }
public bool Equals(FbxImplementation other) { if (object.ReferenceEquals(other, null)) { return(false); } return(this.swigCPtr.Handle.Equals(other.swigCPtr.Handle)); }
public bool SetDefaultImplementation(FbxImplementation pImplementation) { bool ret = NativeMethods.FbxObject_SetDefaultImplementation(swigCPtr, FbxImplementation.getCPtr(pImplementation)); if (NativeMethods.SWIGPendingException.Pending) { throw NativeMethods.SWIGPendingException.Retrieve(); } return(ret); }
public FbxImplementation GetDefaultImplementation() { global::System.IntPtr cPtr = NativeMethods.FbxObject_GetDefaultImplementation(swigCPtr); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); if (NativeMethods.SWIGPendingException.Pending) { throw NativeMethods.SWIGPendingException.Retrieve(); } return(ret); }
public new static FbxImplementation Create(FbxObject pContainer, string pName) { global::System.IntPtr cPtr = NativeMethods.FbxImplementation_Create__SWIG_1(FbxObject.getCPtr(pContainer), pName); FbxImplementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new FbxImplementation(cPtr, false); if (NativeMethods.SWIGPendingException.Pending) { throw NativeMethods.SWIGPendingException.Retrieve(); } return(ret); }
public void TestEquality() { using (var manager = FbxManager.Create()) { // FbxProperty var node = FbxNode.Create(manager, "node"); var prop1 = FbxProperty.Create(node, Globals.FbxBoolDT, "bool1"); var prop2 = FbxProperty.Create(node, Globals.FbxBoolDT, "bool2"); var prop1copy = node.FindProperty("bool1"); EqualityTester <FbxProperty> .TestEquality(prop1, prop2, prop1copy); // FbxPropertyT<bool> var vis1 = node.VisibilityInheritance; var vis2 = FbxNode.Create(manager, "node2").VisibilityInheritance; var vis1copy = vis1; // TODO: node.FindProperty("Visibility Inheritance"); -- but that has a different proxy type EqualityTester <FbxPropertyBool> .TestEquality(vis1, vis2, vis1copy); // FbxPropertyT<EInheritType> var inhType1 = node.InheritType; var inhType2 = FbxNode.Create(manager, "node3").InheritType; var inhType1Copy = inhType1; // TODO: node.FindProperty("InheritType"); EqualityTester <FbxPropertyEInheritType> .TestEquality(inhType1, inhType2, inhType1Copy); // FbxPropertyT<double> var lambert = FbxSurfaceLambert.Create(manager, "lambert"); var emissiveCopy = lambert.EmissiveFactor; // TODO: lambert.FindProperty("EmissiveFactor"); EqualityTester <FbxPropertyDouble> .TestEquality(lambert.EmissiveFactor, lambert.AmbientFactor, emissiveCopy); // FbxPropertyT<FbxDouble3> var lclTranslationCopy = node.LclTranslation; // TODO: node.FindProperty("Lcl Translation"); EqualityTester <FbxPropertyDouble3> .TestEquality(node.LclTranslation, node.LclRotation, lclTranslationCopy); // FbxPropertyT<float> var light = FbxLight.Create(manager, "light"); EqualityTester <FbxPropertyFloat> .TestEquality(light.LeftBarnDoor, light.RightBarnDoor, light.LeftBarnDoor); // FbxPropertyT<int> var constraint = FbxConstraintAim.Create(manager, "constraint"); var constraint2 = FbxConstraintAim.Create(manager, "constraint2"); var worldUpTypeCopy = constraint.WorldUpType; // TODO: constraint.FindProperty("WorldUpType"); EqualityTester <FbxPropertyInt> .TestEquality(constraint.WorldUpType, constraint2.WorldUpType, worldUpTypeCopy); // FbxPropertyT<> for FbxTexture enums var tex1 = FbxTexture.Create(manager, "tex1"); var tex2 = FbxTexture.Create(manager, "tex2"); var blendCopy = tex1.CurrentTextureBlendMode; // TODO: tex1.FindProperty(...) EqualityTester <FbxPropertyEBlendMode> .TestEquality(tex1.CurrentTextureBlendMode, tex2.CurrentTextureBlendMode, blendCopy); var wrapCopy = tex1.WrapModeU; // TODO: tex1.FindProperty(...) EqualityTester <FbxPropertyEWrapMode> .TestEquality(tex1.WrapModeU, tex2.WrapModeU, wrapCopy); // FbxPropertyT<FbxNull.ELook> var null1 = FbxNull.Create(manager, "null1"); var null2 = FbxNull.Create(manager, "null2"); EqualityTester <FbxPropertyNullELook> .TestEquality(null1.Look, null2.Look, null1.Look); // FbxPropertyT<FbxMarker.ELook> var marker1 = FbxMarker.Create(manager, "marker1"); var marker2 = FbxMarker.Create(manager, "marker2"); EqualityTester <FbxPropertyMarkerELook> .TestEquality(marker1.Look, marker2.Look, marker1.Look); // FbxPropertyT<string> var impl = FbxImplementation.Create(manager, "impl"); var renderAPIcopy = impl.RenderAPI; // TODO: impl.FindProperty("RenderAPI"); EqualityTester <FbxPropertyString> .TestEquality(impl.RenderAPI, impl.RenderAPIVersion, renderAPIcopy); // FbxPropertyT<> for FbxCamera enum EProjectionType var cam1 = FbxCamera.Create(manager, "cam1"); var cam2 = FbxCamera.Create(manager, "cam2"); var projectionCopy = cam1.ProjectionType; EqualityTester <FbxPropertyEProjectionType> .TestEquality(cam1.ProjectionType, cam2.ProjectionType, projectionCopy); // FbxPropertyT<> for FbxLight enum EType var light1 = FbxLight.Create(manager, "light1"); var light2 = FbxLight.Create(manager, "light2"); var typeCopy = light1.LightType; EqualityTester <FbxPropertyELightType> .TestEquality(light1.LightType, light2.LightType, typeCopy); var lightShapeCopy = light1.AreaLightShape; EqualityTester <FbxPropertyEAreaLightShape> .TestEquality(light1.AreaLightShape, light2.AreaLightShape, lightShapeCopy); var decayCopy = light1.DecayType; EqualityTester <FbxPropertyEDecayType> .TestEquality(light1.DecayType, light2.DecayType, decayCopy); var floatCopy = light1.LeftBarnDoor; EqualityTester <FbxPropertyFloat> .TestEquality(light1.LeftBarnDoor, light2.LeftBarnDoor, floatCopy); } }
public void BasicTests() { using (var manager = FbxManager.Create()) { // FbxPropertyT<FbxBool> example: VisibilityInheritance on a node var node = FbxNode.Create(manager, "node"); GenericPropertyTests <FbxPropertyBool> (node.VisibilityInheritance, node, "Visibility Inheritance", Globals.FbxVisibilityInheritanceDT); var property = node.VisibilityInheritance; property.Set(false); Assert.AreEqual(false, property.Get()); Assert.AreEqual(false, property.EvaluateValue()); Assert.AreEqual(false, property.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(false, property.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<FbxDouble> example: several of them on a Lambert shader var obj = FbxSurfaceLambert.Create(manager, "lambert"); GenericPropertyTests <FbxPropertyDouble> (obj.EmissiveFactor, obj, "EmissiveFactor", Globals.FbxDoubleDT); var property = obj.EmissiveFactor; property.Set(5.0); // bool Set<float> is not accessible here! Assert.AreEqual(5.0, property.Get()); Assert.AreEqual(5.0, property.EvaluateValue()); Assert.AreEqual(5.0, property.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(5.0, property.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<Double3> example: the LclTranslation on a node var node = FbxNode.Create(manager, "node"); GenericPropertyTests <FbxPropertyDouble3> (node.LclTranslation, node, "Lcl Translation", Globals.FbxLocalTranslationDT); var property = node.LclTranslation; property.Set(new FbxDouble3(1, 2, 3)); Assert.AreEqual(new FbxDouble3(1, 2, 3), property.Get()); Assert.AreEqual(new FbxDouble3(1, 2, 3), property.EvaluateValue()); Assert.AreEqual(new FbxDouble3(1, 2, 3), property.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(new FbxDouble3(1, 2, 3), property.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<float> example: the LeftBarnDoor on a light var light = FbxLight.Create(manager, "light"); GenericPropertyTests(light.LeftBarnDoor, light, "LeftBarnDoor", Globals.FbxFloatDT); var property = light.LeftBarnDoor; light.LeftBarnDoor.Set(5.0f); Assert.AreEqual(5.0f, light.LeftBarnDoor.Get()); Assert.AreEqual(5.0f, property.EvaluateValue()); Assert.AreEqual(5.0f, property.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(5.0f, property.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<int> example: the WorldUpType on an aim constraint var constraint = FbxConstraintAim.Create(manager, "constraint"); GenericPropertyTests(constraint.WorldUpType, constraint, "WorldUpType", Globals.FbxEnumDT); var property = constraint.WorldUpType; int value = (int)FbxConstraintAim.EWorldUp.eAimAtObjectUp; constraint.WorldUpType.Set(value); Assert.That(constraint.WorldUpType.Get(), Is.EqualTo(value)); Assert.That(property.EvaluateValue(), Is.EqualTo(value)); Assert.That(property.EvaluateValue(FbxTime.FromSecondDouble(5)), Is.EqualTo(value)); Assert.That(property.EvaluateValue(FbxTime.FromSecondDouble(5), true), Is.EqualTo(value)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<FbxString> example: the description of a shader implementation var impl = FbxImplementation.Create(manager, "name"); GenericPropertyTests <FbxPropertyString> (impl.RenderAPI, impl, "RenderAPI", Globals.FbxStringDT); var property = impl.RenderAPI; property.Set("a value"); Assert.AreEqual("a value", property.Get()); // animated strings come out as empty-string Assert.AreEqual("", property.EvaluateValue()); Assert.AreEqual("", property.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual("", property.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT for FbxTexture enums EBlendMode and EWrapMode var tex = FbxTexture.Create(manager, "tex"); FbxPropertyTest.GenericPropertyTests(tex.CurrentTextureBlendMode, tex, "CurrentTextureBlendMode", Globals.FbxEnumDT); tex.CurrentTextureBlendMode.Set(FbxTexture.EBlendMode.eAdditive); Assert.AreEqual(FbxTexture.EBlendMode.eAdditive, tex.CurrentTextureBlendMode.Get()); Assert.AreEqual(FbxTexture.EBlendMode.eAdditive, tex.CurrentTextureBlendMode.EvaluateValue()); Assert.AreEqual(FbxTexture.EBlendMode.eAdditive, tex.CurrentTextureBlendMode.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxTexture.EBlendMode.eAdditive, tex.CurrentTextureBlendMode.EvaluateValue(FbxTime.FromSecondDouble(5), true)); FbxPropertyTest.GenericPropertyTests(tex.WrapModeU, tex, "WrapModeU", Globals.FbxEnumDT); tex.WrapModeU.Set(FbxTexture.EWrapMode.eClamp); Assert.AreEqual(FbxTexture.EWrapMode.eClamp, tex.WrapModeU.Get()); Assert.AreEqual(FbxTexture.EWrapMode.eClamp, tex.WrapModeU.EvaluateValue()); Assert.AreEqual(FbxTexture.EWrapMode.eClamp, tex.WrapModeU.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxTexture.EWrapMode.eClamp, tex.WrapModeU.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<FbxNull.ELook> var null1 = FbxNull.Create(manager, "null1"); FbxPropertyTest.GenericPropertyTests(null1.Look, null1, "Look", Globals.FbxEnumDT); null1.Look.Set(FbxNull.ELook.eCross); Assert.AreEqual(FbxNull.ELook.eCross, null1.Look.Get()); Assert.AreEqual(FbxNull.ELook.eCross, null1.Look.EvaluateValue()); Assert.AreEqual(FbxNull.ELook.eCross, null1.Look.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxNull.ELook.eCross, null1.Look.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<FbxMarker.ELook> var marker1 = FbxMarker.Create(manager, "marker1"); FbxPropertyTest.GenericPropertyTests(marker1.Look, marker1, "Look", Globals.FbxEnumDT); marker1.Look.Set(FbxMarker.ELook.eCapsule); Assert.AreEqual(FbxMarker.ELook.eCapsule, marker1.Look.Get()); Assert.AreEqual(FbxMarker.ELook.eCapsule, marker1.Look.EvaluateValue()); Assert.AreEqual(FbxMarker.ELook.eCapsule, marker1.Look.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxMarker.ELook.eCapsule, marker1.Look.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT for FbxCamera enum EProjectionType var camera = FbxCamera.Create(manager, "camera"); FbxPropertyTest.GenericPropertyTests(camera.ProjectionType, camera, "CameraProjectionType", Globals.FbxEnumDT); camera.ProjectionType.Set(FbxCamera.EProjectionType.ePerspective); Assert.AreEqual(FbxCamera.EProjectionType.ePerspective, camera.ProjectionType.Get()); Assert.AreEqual(FbxCamera.EProjectionType.ePerspective, camera.ProjectionType.EvaluateValue()); Assert.AreEqual(FbxCamera.EProjectionType.ePerspective, camera.ProjectionType.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxCamera.EProjectionType.ePerspective, camera.ProjectionType.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT for FbxCamera enum EGateFit var camera = FbxCamera.Create(manager, "camera"); FbxPropertyTest.GenericPropertyTests(camera.GateFit, camera, "GateFit", Globals.FbxEnumDT); camera.GateFit.Set(FbxCamera.EGateFit.eFitHorizontal); Assert.AreEqual(FbxCamera.EGateFit.eFitHorizontal, camera.GateFit.Get()); Assert.AreEqual(FbxCamera.EGateFit.eFitHorizontal, camera.GateFit.EvaluateValue()); Assert.AreEqual(FbxCamera.EGateFit.eFitHorizontal, camera.GateFit.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxCamera.EGateFit.eFitHorizontal, camera.GateFit.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT<EInheritType> var node = FbxNode.Create(manager, "node"); FbxPropertyTest.GenericPropertyTests(node.InheritType, node, "InheritType", Globals.FbxEnumDT); node.InheritType.Set(FbxTransform.EInheritType.eInheritRSrs); Assert.AreEqual(FbxTransform.EInheritType.eInheritRSrs, node.InheritType.Get()); Assert.AreEqual(FbxTransform.EInheritType.eInheritRSrs, node.InheritType.EvaluateValue()); Assert.AreEqual(FbxTransform.EInheritType.eInheritRSrs, node.InheritType.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxTransform.EInheritType.eInheritRSrs, node.InheritType.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // FbxPropertyT for FbxLight enums var light = FbxLight.Create(manager, "light"); FbxPropertyTest.GenericPropertyTests(light.LightType, light, "LightType", Globals.FbxEnumDT); light.LightType.Set(FbxLight.EType.eSpot); Assert.AreEqual(FbxLight.EType.eSpot, light.LightType.Get()); Assert.AreEqual(FbxLight.EType.eSpot, light.LightType.EvaluateValue()); Assert.AreEqual(FbxLight.EType.eSpot, light.LightType.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxLight.EType.eSpot, light.LightType.EvaluateValue(FbxTime.FromSecondDouble(5), true)); FbxPropertyTest.GenericPropertyTests(light.AreaLightShape, light, "AreaLightShape", Globals.FbxEnumDT); light.AreaLightShape.Set(FbxLight.EAreaLightShape.eSphere); Assert.AreEqual(FbxLight.EAreaLightShape.eSphere, light.AreaLightShape.Get()); Assert.AreEqual(FbxLight.EAreaLightShape.eSphere, light.AreaLightShape.EvaluateValue()); Assert.AreEqual(FbxLight.EAreaLightShape.eSphere, light.AreaLightShape.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxLight.EAreaLightShape.eSphere, light.AreaLightShape.EvaluateValue(FbxTime.FromSecondDouble(5), true)); FbxPropertyTest.GenericPropertyTests(light.DecayType, light, "DecayType", Globals.FbxEnumDT); light.DecayType.Set(FbxLight.EDecayType.eCubic); Assert.AreEqual(FbxLight.EDecayType.eCubic, light.DecayType.Get()); Assert.AreEqual(FbxLight.EDecayType.eCubic, light.DecayType.EvaluateValue()); Assert.AreEqual(FbxLight.EDecayType.eCubic, light.DecayType.EvaluateValue(FbxTime.FromSecondDouble(5))); Assert.AreEqual(FbxLight.EDecayType.eCubic, light.DecayType.EvaluateValue(FbxTime.FromSecondDouble(5), true)); } using (var manager = FbxManager.Create()) { // Test all the create and destroy operations FbxProperty root, child; var obj = FbxObject.Create(manager, "obj"); Assert.IsNotNull(FbxProperty.Create(obj, Globals.FbxStringDT, "a")); Assert.IsNotNull(FbxProperty.Create(obj, Globals.FbxStringDT, "b", "label")); Assert.IsNotNull(FbxProperty.Create(obj, Globals.FbxStringDT, "c", "label", false)); bool didFind; Assert.IsNotNull(FbxProperty.Create(obj, Globals.FbxStringDT, "c", "label", true, out didFind)); Assert.IsTrue(didFind); root = FbxProperty.Create(obj, Globals.FbxCompoundDT, "root"); child = FbxProperty.Create(root, Globals.FbxStringDT, "a"); Assert.IsNotNull(child); Assert.IsNotNull(FbxProperty.Create(root, Globals.FbxStringDT, "b", "label")); Assert.IsNotNull(FbxProperty.Create(root, Globals.FbxStringDT, "c", "label", false)); Assert.IsNotNull(FbxProperty.Create(root, Globals.FbxStringDT, "c", "label", true, out didFind)); Assert.IsTrue(didFind); child.Destroy(); root.DestroyChildren(); Assert.IsNotNull(FbxProperty.Create(root, Globals.FbxStringDT, "c", "label", true, out didFind)); Assert.IsFalse(didFind); root.DestroyRecursively(); } }
public void TestVarious() { FbxObject obj; /************************************************************ * Test selection ************************************************************/ obj = CreateObject(); Assert.IsFalse(obj.GetSelected()); obj.SetSelected(true); Assert.IsTrue(obj.GetSelected()); /************************************************************ * Test name-related functions. ************************************************************/ /* * We use this also for testing that string handling works. * Make sure we can pass const char*, FbxString, and const * FbxString&. * Make sure we can return those too (though I'm not actually * seeing a return of a const-ref anywhere). */ // Test a function that takes const char*. obj = FbxObject.Create(Manager, "MyObject"); Assert.IsNotNull(obj); // Test a function that returns const char*. Assert.AreEqual("MyObject", obj.GetName()); // Test a function that takes an FbxString with an accent in it. obj.SetNameSpace("Accentué"); // Test a function that returns FbxString. Assert.AreEqual("MyObject", obj.GetNameWithoutNameSpacePrefix()); // Test a function that returns FbxString with an accent in it. Assert.AreEqual("Accentué", obj.GetNameSpaceOnly()); // Test a function that takes a const char* and returns an FbxString. // We don't want to convert the other StripPrefix functions, which // modify their argument in-place. Assert.AreEqual("MyObject", FbxObject.StripPrefix("NameSpace::MyObject")); obj.SetName("new name"); Assert.AreEqual("new name", obj.GetName()); obj.SetInitialName("init"); Assert.AreEqual("init", obj.GetInitialName()); /************************************************************ * Test shader implementations ************************************************************/ using (obj = FbxObject.Create(Manager, "MyObject")) { var impl = FbxImplementation.Create(obj, "impl"); Assert.IsTrue(obj.AddImplementation(impl)); Assert.IsTrue(obj.RemoveImplementation(impl)); Assert.IsTrue(obj.AddImplementation(impl)); Assert.IsTrue(obj.SetDefaultImplementation(impl)); Assert.AreEqual(impl, obj.GetDefaultImplementation()); Assert.IsTrue(obj.HasDefaultImplementation()); } /************************************************************ * Test property functions ************************************************************/ using (obj = CreateObject("theobj")) { using (var obj2 = CreateObject("otherobj")) { // Make a property and connect it from obj to obj2. var prop = FbxProperty.Create(obj, Globals.FbxBoolDT, "maybe"); var prop2 = FbxProperty.Create(obj, Globals.FbxFloatDT, "probability"); Assert.IsTrue(obj.ConnectSrcProperty(prop)); Assert.IsTrue(obj.ConnectSrcProperty(prop2)); Assert.IsTrue(obj2.ConnectDstProperty(prop)); Assert.IsTrue(obj.IsConnectedSrcProperty(prop)); Assert.IsTrue(obj2.IsConnectedDstProperty(prop)); Assert.AreEqual(2, obj.GetSrcPropertyCount()); Assert.AreEqual(1, obj2.GetDstPropertyCount()); Assert.AreEqual(prop, obj.GetSrcProperty()); Assert.AreEqual(prop, obj.GetSrcProperty(0)); Assert.AreEqual(prop2, obj.GetSrcProperty(1)); Assert.AreEqual(prop, obj2.GetDstProperty()); Assert.AreEqual(prop, obj2.GetDstProperty(0)); Assert.AreEqual(prop, obj.FindSrcProperty("maybe")); Assert.AreEqual(prop, obj2.FindDstProperty("maybe")); Assert.IsFalse(obj.FindSrcProperty("maybe", 1).IsValid()); Assert.IsFalse(obj2.FindDstProperty("maybe", 1).IsValid()); // Iterating over properties Assert.IsTrue(obj.GetFirstProperty().IsValid()); Assert.IsTrue(obj.GetNextProperty(obj.GetFirstProperty()).IsValid()); Assert.IsTrue(obj.GetClassRootProperty().IsValid()); // FindProperty Assert.AreEqual(prop, obj.FindProperty("maybe")); Assert.AreEqual(prop, obj.FindProperty("mayBE", false)); Assert.IsFalse(obj.FindProperty("mayBE", true).IsValid()); Assert.AreEqual(prop, obj.FindProperty("maybe", Globals.FbxBoolDT)); Assert.AreEqual(prop, obj.FindProperty("mayBE", Globals.FbxBoolDT, false)); // FindPropertyHierarchical Assert.AreEqual(prop, obj.FindPropertyHierarchical("maybe")); Assert.AreEqual(prop, obj.FindPropertyHierarchical("mayBE", false)); Assert.IsFalse(obj.FindPropertyHierarchical("mayBE", true).IsValid()); Assert.AreEqual(prop, obj.FindPropertyHierarchical("maybe", Globals.FbxBoolDT)); Assert.AreEqual(prop, obj.FindPropertyHierarchical("mayBE", Globals.FbxBoolDT, false)); // Disconnecting int nSrc = obj.GetSrcPropertyCount(); int nDst = obj2.GetDstPropertyCount(); Assert.IsTrue(obj.DisconnectSrcProperty(prop)); Assert.IsTrue(obj2.DisconnectDstProperty(prop)); Assert.AreEqual(nSrc - 1, obj.GetSrcPropertyCount()); Assert.AreEqual(nDst - 1, obj2.GetDstPropertyCount()); } } /************************************************************ * Test object connection functions ************************************************************/ // need to order them this way for FbxScene, which deletes obj if Source Object is destroyed using (var ownerObj = CreateObject("ownerObj")) { using (obj = CreateObject("obj")) { // Test ConnectSrcObject functions int origCount = ownerObj.GetSrcObjectCount(); bool result = ownerObj.ConnectSrcObject(obj); Assert.IsTrue(result); Assert.IsTrue(ownerObj.IsConnectedSrcObject(obj)); Assert.AreEqual(origCount + 1, ownerObj.GetSrcObjectCount()); if (origCount == 0) { Assert.AreEqual(obj, ownerObj.GetSrcObject()); } else { // FbxScene has more than one object set as source Assert.AreNotEqual(obj, ownerObj.GetSrcObject()); } Assert.AreEqual(obj, ownerObj.GetSrcObject(origCount)); Assert.AreEqual(obj, ownerObj.FindSrcObject("obj")); Assert.IsNull(ownerObj.FindSrcObject("obj", origCount + 1)); // TODO: Fix so this doesn't crash /*Assert.That (() => { * ownerObj.FindSrcObject (null); * }, Throws.Exception.TypeOf<System.ArgumentNullException> ());*/ result = ownerObj.DisconnectSrcObject(obj); Assert.IsTrue(result); Assert.IsFalse(ownerObj.IsConnectedSrcObject(obj)); Assert.That(() => { ownerObj.ConnectSrcObject(null); }, Throws.Exception.TypeOf <System.ArgumentNullException> ()); result = ownerObj.ConnectSrcObject(obj, FbxConnection.EType.eData); Assert.IsTrue(result); } } // need to order them this way for FbxScene, which deletes ownerObj if Destination Object is destroyed using (obj = CreateObject("obj")) { using (var ownerObj = CreateObject("ownerObj")) { // Test ConnectDstObject functions int origCount = ownerObj.GetDstObjectCount(); bool result = ownerObj.ConnectDstObject(obj); Assert.IsTrue(result); Assert.IsTrue(ownerObj.IsConnectedDstObject(obj)); Assert.AreEqual(origCount + 1, ownerObj.GetDstObjectCount()); if (origCount == 0) { Assert.AreEqual(obj, ownerObj.GetDstObject()); } else { // FbxAnimCurve has the scene as a DstObject Assert.AreNotEqual(obj, ownerObj.GetDstObject()); } Assert.AreEqual(obj, ownerObj.GetDstObject(origCount)); Assert.AreEqual(obj, ownerObj.FindDstObject("obj")); Assert.IsNull(ownerObj.FindDstObject("obj", origCount + 1)); // TODO: Fix so this doesn't crash /*Assert.That (() => { * ownerObj.FindDstObject (null); * }, Throws.Exception.TypeOf<System.ArgumentNullException> ());*/ result = ownerObj.DisconnectDstObject(obj); Assert.IsTrue(result); Assert.IsFalse(ownerObj.IsConnectedDstObject(obj)); Assert.That(() => { ownerObj.ConnectDstObject(null); }, Throws.Exception.TypeOf <System.ArgumentNullException> ()); result = ownerObj.ConnectDstObject(obj, FbxConnection.EType.eData); Assert.IsTrue(result); } } }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FbxImplementation obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
public bool SetDefaultImplementation(FbxImplementation pImplementation) { bool ret = fbx_wrapperPINVOKE.FbxObject_SetDefaultImplementation(swigCPtr, FbxImplementation.getCPtr(pImplementation)); return(ret); }
public bool RemoveImplementation(FbxImplementation pImplementation) { bool ret = FbxWrapperNativePINVOKE.FbxObject_RemoveImplementation(swigCPtr, FbxImplementation.getCPtr(pImplementation)); return(ret); }