12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- // ***********************************************************************
- // Copyright (c) 2017 Unity Technologies. All rights reserved.
- //
- // Licensed under the ##LICENSENAME##.
- // See LICENSE.md file in the project root for full license information.
- // ***********************************************************************
- using NUnit.Framework;
- using System.Collections;
- using Autodesk.Fbx;
- namespace Autodesk.Fbx.UseCaseTests
- {
- public class CustomPropertiesExportTest : HierarchyExportTest
- {
- protected string m_customPropName = "customProp";
- protected override FbxScene CreateScene (FbxManager manager)
- {
- FbxScene scene = base.CreateScene (manager);
- AddCustomProperties (scene.GetRootNode ().GetChild (0), m_customPropName, 1);
- return scene;
- }
- private void AddCustomProperties(FbxNode fbxNode, string propName, int propValue)
- {
- var fbxProperty = FbxProperty.Create(fbxNode, Globals.FbxIntDT, propName);
- Assert.IsTrue (fbxProperty.IsValid ());
- fbxProperty.Set (propValue);
- // Must be marked user-defined or it won't be shown in most DCCs
- fbxProperty.ModifyFlag(FbxPropertyFlags.EFlags.eUserDefined, true);
- fbxProperty.ModifyFlag(FbxPropertyFlags.EFlags.eAnimatable, true);
- for (int i = 0; i < fbxNode.GetChildCount (); i++) {
- AddCustomProperties (fbxNode.GetChild (i), propName, propValue + 1);
- }
- }
- protected override void CheckScene (FbxScene scene)
- {
- base.CheckScene (scene);
- FbxScene origScene = CreateScene (FbxManager);
- FbxNode origRoot = origScene.GetRootNode ().GetChild (0);
- FbxNode importRoot = scene.GetRootNode ().GetChild (0);
- CheckCustomProperties (origRoot, importRoot, m_customPropName);
- }
- private void CheckCustomProperties(FbxNode origNode, FbxNode importNode, string propName)
- {
- var origProperty = origNode.FindProperty (propName);
- var importProperty = importNode.FindProperty (propName);
- Assert.IsNotNull (origProperty);
- Assert.IsNotNull (importProperty);
- Assert.IsTrue (origProperty.IsValid ());
- Assert.IsTrue (importProperty.IsValid ());
- Assert.AreEqual(origProperty.GetInt(), importProperty.GetInt());
- Assert.AreEqual(origProperty.GetFlag(FbxPropertyFlags.EFlags.eUserDefined), importProperty.GetFlag(FbxPropertyFlags.EFlags.eUserDefined));
- Assert.AreEqual (origProperty.GetFlag (FbxPropertyFlags.EFlags.eAnimatable), importProperty.GetFlag (FbxPropertyFlags.EFlags.eAnimatable));
- Assert.AreEqual (origNode.GetChildCount (), importNode.GetChildCount ());
- for (int i = 0; i < origNode.GetChildCount (); i++) {
- CheckCustomProperties (origNode.GetChild (i), importNode.GetChild (i), propName);
- }
- }
- }
- }
|