[NUI] Remove Previous ModelView, and modify new ModelView
authorseungho <sbsh.baek@samsung.com>
Fri, 29 Jul 2022 02:43:23 +0000 (11:43 +0900)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Tue, 2 Aug 2022 06:47:49 +0000 (15:47 +0900)
Signed-off-by: seungho <sbsh.baek@samsung.com>
src/Tizen.NUI.Scene3D/src/ModelView.cs
src/Tizen.NUI/src/internal/Interop/Interop.ModelView.cs [deleted file]
src/Tizen.NUI/src/public/BaseComponents/ModelView.cs [deleted file]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Tizen.NUI.Samples.csproj
test/Tizen.NUI.Tests/Tizen.NUI.Devel.Tests/testcase/public/BaseComponents/TSModelView.cs [deleted file]

index e4bb5c1..25c45be 100755 (executable)
@@ -32,24 +32,17 @@ namespace Tizen.NUI.Scene3D
     /// The number of animation is also retrieved by GetAnimationCount() method.
     ///
     /// By default, The loaded model has it's own position and size which are defined in vertex buffer regardless of the Control size.
-    /// The model can be resized and repositioned to fit to the ModelView Control with FitSize() and FitCenter() methods.
+    /// The model can be resized and repositioned to fit to the ModelView Control with UseSizeOfView and UseCenterOfView properties.
     /// </summary>
     // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class ModelView : View
     {
-        internal ModelView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
-        {
-        }
+        private bool useSizeOfView = false;
+        private bool useCenterOfView = false;
 
-        /// <summary>
-        /// Release swigCPtr.
-        /// </summary>
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void ReleaseSwigCPtr(global::System.Runtime.InteropServices.HandleRef swigCPtr)
+        internal ModelView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
         {
-            Interop.ModelView.DeleteModelView(swigCPtr);
         }
 
         /// <summary>
@@ -57,9 +50,10 @@ namespace Tizen.NUI.Scene3D
         /// </summary>
         /// <param name="modelPath">model file path.(e.g., glTF, and DLI).</param>
         /// <param name="resourcePath">resource file path that includes binary, image etc.</param>
+        /// <note> If resourcePath is empty, the parent directory path of modelPath is used for resource path. </note>
         // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView(string modelPath, string resourcePath) : this(Interop.ModelView.ModelViewNew(modelPath, resourcePath), true)
+        public ModelView(string modelPath, string resourcePath = "") : this(Interop.ModelView.ModelViewNew(modelPath, resourcePath), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
@@ -76,58 +70,81 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <summary>
-        /// Assignment operator.
+        /// Retrieves model root View.
         /// </summary>
-        /// <param name="modelView">Handle to an object.</param>
-        /// <returns>Reference to this.</returns>
+        /// <note>
+        /// This ModelRoot means a root View that contains 3D models to render.
+        /// The light source is only applied on the models under this ModelRoot.
+        /// </note>
         // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView Assign(ModelView modelView)
+        public View ModelRoot
         {
-            ModelView ret = new ModelView(Interop.ModelView.ModelViewAssign(SwigCPtr, ModelView.getCPtr(modelView)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetModelRoot();
+            }
         }
 
         /// <summary>
-        /// Retrieves model root Actor.
+        /// Fits the model to the View size.
+        /// If this property is true, the model is resized to fit the width or height of the View by scaling the ModelRoot.
+        /// <note>
+        /// This property only changes model size not the pivot.
+        /// </note>
         /// </summary>
-        /// <returns>Root View of the model.</returns>
         // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public View GetModelRoot()
+        public bool UseSizeOfView
         {
-            View ret = new View(Interop.ModelView.GetModelRoot(SwigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return useSizeOfView;
+            }
+            set
+            {
+                useSizeOfView = value;
+                Interop.ModelView.FitSize(SwigCPtr, useSizeOfView);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
         }
 
         /// <summary>
-        /// Fits the model to the Control size.
+        /// Moves the model to the center of control.
+        /// If this property is true, the model moves so that the center is located at the center of the View by change PivotPoint of ModelRoot.
         /// </summary>
-        /// <param name="fit">True to fit model size to control.</param>
         // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public void FitSize(bool fit)
+        public bool UseCenterOfView
         {
-            Interop.ModelView.FitSize(SwigCPtr, fit);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return useCenterOfView;
+            }
+            set
+            {
+                useCenterOfView = value;
+                Interop.ModelView.FitCenter(SwigCPtr, useCenterOfView);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
         }
 
         /// <summary>
-        /// Moves the model to the center of control.
+        /// Assignment operator.
         /// </summary>
-        /// <param name="fit">True to fit model to center of control.</param>
+        /// <param name="modelView">Handle to an object.</param>
+        /// <returns>Reference to this.</returns>
         // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public void FitCenter(bool fit)
+        public ModelView Assign(ModelView modelView)
         {
-            Interop.ModelView.FitCenter(SwigCPtr, fit);
+            ModelView ret = new ModelView(Interop.ModelView.ModelViewAssign(SwigCPtr, ModelView.getCPtr(modelView)), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Retrieves model root Actor.
+        /// Changes Image Based Light as the input textures.
         /// </summary>
         /// <param name="diffuse">Cube map that can be used as a diffuse IBL source.</param>
         /// <param name="specular">Cube map that can be used as a specular IBL source.</param>
@@ -183,5 +200,28 @@ namespace Tizen.NUI.Scene3D
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
+
+        /// <summary>
+        /// Retrieves model root Actor.
+        /// </summary>
+        /// <returns>Root View of the model.</returns>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private View GetModelRoot()
+        {
+            View ret = new View(Interop.ModelView.GetModelRoot(SwigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Release swigCPtr.
+        /// </summary>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void ReleaseSwigCPtr(global::System.Runtime.InteropServices.HandleRef swigCPtr)
+        {
+            Interop.ModelView.DeleteModelView(swigCPtr);
+        }
     }
 }
diff --git a/src/Tizen.NUI/src/internal/Interop/Interop.ModelView.cs b/src/Tizen.NUI/src/internal/Interop/Interop.ModelView.cs
deleted file mode 100755 (executable)
index bffb7ce..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright(c) 2021 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-namespace Tizen.NUI
-{
-    internal static partial class Interop
-    {
-        internal static partial class ModelView
-        {
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_GEOMETRY_URL_get")]
-            public static extern int GeometryUrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_MATERIAL_URL_get")]
-            public static extern int MaterialUrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_IMAGES_URL_get")]
-            public static extern int ImagesUrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_ILLUMINATION_TYPE_get")]
-            public static extern int IlluminationTypeGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_TEXTURE0_URL_get")]
-            public static extern int Texture0UrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_TEXTURE1_URL_get")]
-            public static extern int Texture1UrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_TEXTURE2_URL_get")]
-            public static extern int Texture2UrlGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Property_LIGHT_POSITION_get")]
-            public static extern int LightPositionGet();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Model3dView_Property")]
-            public static extern global::System.IntPtr NewModelViewProperty();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_Model3dView_Property")]
-            public static extern void DeleteModelViewProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_New_SWIG_0")]
-            public static extern global::System.IntPtr ModelViewNew();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_New_SWIG_1")]
-            public static extern global::System.IntPtr ModelViewNew(string jarg1, string jarg2, string jarg3);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Model3dView_SWIG_0")]
-            public static extern global::System.IntPtr NewModelView();
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Model3dView_SWIG_1")]
-            public static extern global::System.IntPtr NewModelView(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_Model3dView")]
-            public static extern void DeleteModelView(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_Assign")]
-            public static extern global::System.IntPtr ModelViewAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_DownCast")]
-            public static extern global::System.IntPtr ModelViewDownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Model3dView_SWIGUpcast")]
-            public static extern global::System.IntPtr ModelViewUpcast(global::System.IntPtr jarg1);
-        }
-    }
-}
diff --git a/src/Tizen.NUI/src/public/BaseComponents/ModelView.cs b/src/Tizen.NUI/src/public/BaseComponents/ModelView.cs
deleted file mode 100755 (executable)
index d939d14..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Copyright(c) 2021 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-using Tizen.NUI.Binding;
-
-namespace Tizen.NUI.BaseComponents
-{
-    // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-    [EditorBrowsable(EditorBrowsableState.Never)]
-    public class ModelView : View
-    {
-        internal ModelView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
-        {
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
-        {
-            Interop.ModelView.DeleteModelView(swigCPtr);
-        }
-
-        internal new class Property
-        {
-            internal static readonly int GeometryUrl = Interop.ModelView.GeometryUrlGet();
-            internal static readonly int MaterialUrl = Interop.ModelView.MaterialUrlGet();
-            internal static readonly int ImagesUrl = Interop.ModelView.ImagesUrlGet();
-            internal static readonly int IlluminationType = Interop.ModelView.IlluminationTypeGet();
-            internal static readonly int Texture0Url = Interop.ModelView.Texture0UrlGet();
-            internal static readonly int Texture1Url = Interop.ModelView.Texture1UrlGet();
-            internal static readonly int Texture2Url = Interop.ModelView.Texture2UrlGet();
-            internal static readonly int LightPosition = Interop.ModelView.LightPositionGet();
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView() : this(Interop.ModelView.ModelViewNew(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView(string objUrl, string mtlUrl, string imagesUrl) : this(Interop.ModelView.ModelViewNew(objUrl, mtlUrl, imagesUrl), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView(ModelView ModelView) : this(Interop.ModelView.NewModelView(ModelView.getCPtr(ModelView)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ModelView Assign(ModelView ModelView)
-        {
-            ModelView ret = new ModelView(Interop.ModelView.ModelViewAssign(SwigCPtr, ModelView.getCPtr(ModelView)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public enum IluminationTypeEnum
-        {
-            Diffuse,
-            DiffuseWithTexture,
-            DiffuseWithNormalMap
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string GeometryUrl
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue geometry = GetProperty(ModelView.Property.GeometryUrl);
-                geometry?.Get(out retVal);
-                geometry?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.GeometryUrl, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string MaterialUrl
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue material = GetProperty(ModelView.Property.MaterialUrl);
-                material?.Get(out retVal);
-                material?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.MaterialUrl, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string ImagesUrl
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue images = GetProperty(ModelView.Property.ImagesUrl);
-                images?.Get(out retVal);
-                images?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.ImagesUrl, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public int IlluminationType
-        {
-            get
-            {
-                int retVal = 0;
-                PropertyValue illumination = GetProperty(ModelView.Property.IlluminationType);
-                illumination?.Get(out retVal);
-                illumination?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.IlluminationType, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string Texture0Url
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue texture0 = GetProperty(ModelView.Property.Texture0Url);
-                texture0?.Get(out retVal);
-                texture0?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.Texture0Url, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string Texture1Url
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue texture1 = GetProperty(ModelView.Property.Texture1Url);
-                texture1?.Get(out retVal);
-                texture1?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.Texture1Url, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public string Texture2Url
-        {
-            get
-            {
-                string retVal = "";
-                PropertyValue texture2 = GetProperty(ModelView.Property.Texture2Url);
-                texture2?.Get(out retVal);
-                texture2?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.Texture2Url, setVal);
-                setVal?.Dispose();
-            }
-        }
-
-        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector3 LightPosition
-        {
-            get
-            {
-                Vector3 retVal = new Vector3(0.0f, 0.0f, 0.0f);
-                PropertyValue lightPos = GetProperty(ModelView.Property.LightPosition);
-                lightPos?.Get(retVal);
-                lightPos?.Dispose();
-                return retVal;
-            }
-            set
-            {
-                PropertyValue setVal = new Tizen.NUI.PropertyValue(value);
-                SetProperty(ModelView.Property.LightPosition, setVal);
-                setVal?.Dispose();
-            }
-        }
-    }
-}
index e4b2193..d7f1dbd 100755 (executable)
@@ -36,6 +36,7 @@
     <ProjectReference Include="../../../src/Tizen.NUI.Components/Tizen.NUI.Components.csproj" />
     <ProjectReference Include="../../../src/Tizen.NUI.Extension/Tizen.NUI.Extension.csproj" />
     <ProjectReference Include="../../../src/Tizen.NUI.Wearable/Tizen.NUI.Wearable.csproj" />
+    <ProjectReference Include="../../../src/Tizen.NUI.Scene3D/Tizen.NUI.Scene3D.csproj" />
     <PackageReference Include="nunit" Version="3.12.0" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
     <PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Devel.Tests/testcase/public/BaseComponents/TSModelView.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Devel.Tests/testcase/public/BaseComponents/TSModelView.cs
deleted file mode 100755 (executable)
index 7a46e8e..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-using global::System;
-using NUnit.Framework;
-using NUnit.Framework.TUnit;
-using Tizen.NUI.Components;
-using Tizen.NUI.BaseComponents;
-
-namespace Tizen.NUI.Devel.Tests
-{
-    using tlog = Tizen.Log;
-
-    [TestFixture]
-    [Description("public/BaseComponents/ModelView")]
-    public class PublicModelViewTest
-    {
-        private const string tag = "NUITEST";
-        private string objUrl = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
-        private string mtlUrl = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=bmp%E4%B8%8B%E8%BD%BD%20%E4%BD%8D%E5%9B%BE&step_word=&hs=2&pn=0&spn=0&di=30360&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=506847219%2C2820013657&os=4205693751%2C1065126395&simid=0%2C0&adpicid=0&lpn=0&ln=389&fr=&fmq=1389861203899_R&fm=&ic=0&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=bmp%E4%B8%8B%E8%BD%BD&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fbpic.ooopic.com%2F17%2F52%2F38%2F17523837-6a28a5a38920964a54ed89d8e93c3a3c-0.jpg%26refer%3Dhttp%3A%2F%2Fbpic.ooopic.com%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Djpeg%3Fsec%3D1624445232%26t%3Db9e3c91e4753f12d81e73c7142181326&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3B555rtv_z%26e3Bv54AzdH3Ffij3ty7wgf7AzdH3F80cdnbn0_z%26e3Bip4s&gsm=1&rpstart=0&rpnum=0&islist=&querylist=&force=undefined";
-        private string imageUrl = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
-
-        [SetUp]
-        public void Init()
-        {
-            tlog.Info(tag, "Init() is called!");
-        }
-
-        [TearDown]
-        public void Destroy()
-        {
-            tlog.Info(tag, "Destroy() is called!");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView constructor.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.ModelView C")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "CONSTR")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewConstructor()
-        {
-            tlog.Debug(tag, $"ModelViewConstructor START");
-
-            var testingTarget = new ModelView();
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            testingTarget.Dispose();
-
-            tlog.Debug(tag, $"ModelViewConstructor END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView constructor.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.ModelView C")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "CONSTR")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewConstructorWith3Urls()
-        {
-            tlog.Debug(tag, $"ModelViewConstructorWith3Urls START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            testingTarget.Dispose();
-
-            tlog.Debug(tag, $"ModelViewConstructorWith3Urls END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView constructor.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.ModelView C")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "CONSTR")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewConstructorWithModel3dView()
-        {
-            tlog.Debug(tag, $"ModelViewConstructorWithModel3dView START");
-
-            using (ModelView view = new ModelView(objUrl, mtlUrl, imageUrl))
-            {
-                var testingTarget = new ModelView(view);
-                Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-                Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-                testingTarget.Dispose();
-            }
-
-            tlog.Debug(tag, $"ModelViewConstructorWithModel3dView END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView Assign.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.Assign M")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "MR")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewAssign()
-        {
-            tlog.Debug(tag, $"ModelViewAssign START");
-
-            using (ModelView view = new ModelView(objUrl, mtlUrl, imageUrl))
-            {
-                var testingTarget = view.Assign(view);
-                Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-                Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-                testingTarget.Dispose();
-            }
-
-            tlog.Debug(tag, $"ModelViewAssign END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView ImagesUrl.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.ImagesUrl A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewImagesUrl()
-        {
-            tlog.Debug(tag, $"ModelViewImagesUrl START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.ImagesUrl);
-            testingTarget.ImagesUrl = mtlUrl;
-            tlog.Debug(tag, testingTarget.ImagesUrl);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewImagesUrl END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView GeometryUrl.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.GeometryUrl A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewGeometryUrl()
-        {
-            tlog.Debug(tag, $"ModelViewGeometryUrl START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.GeometryUrl);
-            testingTarget.GeometryUrl = mtlUrl;
-            tlog.Debug(tag, testingTarget.GeometryUrl);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewGeometryUrl END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView MaterialUrl.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.MaterialUrl A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewMaterialUrl()
-        {
-            tlog.Debug(tag, $"ModelViewMaterialUrl START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.MaterialUrl);
-            testingTarget.MaterialUrl = mtlUrl;
-            tlog.Debug(tag, testingTarget.MaterialUrl);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewMaterialUrl END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView IlluminationType.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.IlluminationType A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewIlluminationType()
-        {
-            tlog.Debug(tag, $"ModelViewIlluminationType START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.IlluminationType.ToString());
-            testingTarget.IlluminationType = 2;
-            tlog.Debug(tag, testingTarget.IlluminationType.ToString());
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewIlluminationType END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView Texture0Url.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.Texture0Url A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewTexture0Url()
-        {
-            tlog.Debug(tag, $"ModelViewTexture0Url START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.Texture0Url);
-            testingTarget.Texture0Url = imageUrl;
-            tlog.Debug(tag, testingTarget.Texture0Url);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewTexture0Url END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView Texture1Url.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.Texture1Url A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewTexture1Url()
-        {
-            tlog.Debug(tag, $"ModelViewTexture1Url START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.Texture1Url);
-            testingTarget.Texture1Url = objUrl;
-            tlog.Debug(tag, testingTarget.Texture1Url);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewTexture1Url END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView Texture2Url.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.Texture2Url A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewTexture2Url()
-        {
-            tlog.Debug(tag, $"ModelViewTexture2Url START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.Texture2Url);
-            testingTarget.Texture2Url = mtlUrl;
-            tlog.Debug(tag, testingTarget.Texture2Url);
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewTexture2Url END (OK)");
-        }
-
-        [Test]
-        [Category("P1")]
-        [Description("ModelView LightPosition.")]
-        [Property("SPEC", "Tizen.NUI.ModelView.LightPosition A")]
-        [Property("SPEC_URL", "-")]
-        [Property("CRITERIA", "PRW")]
-        [Property("AUTHOR", "guowei.wang@samsung.com")]
-        public void ModelViewLightPosition()
-        {
-            tlog.Debug(tag, $"ModelViewLightPosition START");
-
-            var testingTarget = new ModelView(objUrl, mtlUrl, imageUrl);
-            Assert.IsNotNull(testingTarget, "Can't create success object ModelView");
-            Assert.IsInstanceOf<ModelView>(testingTarget, "Should be an instance of ModelView type.");
-
-            tlog.Debug(tag, testingTarget.LightPosition.ToString());
-            testingTarget.LightPosition = new Vector3(0.3f, 0.1f, 0.8f);
-            tlog.Debug(tag, testingTarget.LightPosition.ToString());
-
-            testingTarget.Dispose();
-            tlog.Debug(tag, $"ModelViewLightPosition END (OK)");
-        }
-    }
-}