2 * Copyright(c) 2023 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using System.Runtime.InteropServices;
21 namespace Tizen.NUI.Scene3D
23 internal static partial class Interop
25 internal static partial class ModelNode
27 [StructLayout(LayoutKind.Sequential)]
30 internal float x, y, z;
33 [StructLayout(LayoutKind.Sequential)]
34 internal struct ElementIndex
39 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_New_SWIG_0")]
40 public static extern global::System.IntPtr ModelNodeNew();
42 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_new_Model_Node_SWIG_1")]
43 public static extern global::System.IntPtr NewModelNode(global::System.Runtime.InteropServices.HandleRef modelNode);
45 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_delete_Model_Node")]
46 public static extern void DeleteModelNode(global::System.Runtime.InteropServices.HandleRef modelNode);
48 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_Assign")]
49 public static extern global::System.IntPtr ModelNodeAssign(global::System.Runtime.InteropServices.HandleRef modelNode, global::System.Runtime.InteropServices.HandleRef sourceModelNode);
51 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_GetModelPrimitiveCount")]
52 public static extern uint GetModelPrimitiveCount(global::System.Runtime.InteropServices.HandleRef model);
54 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_AddModelPrimitive")]
55 public static extern void AddModelPrimitive(global::System.Runtime.InteropServices.HandleRef model, global::System.Runtime.InteropServices.HandleRef modelPrimitive);
57 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_RemoveModelPrimitive1")]
58 public static extern void RemoveModelPrimitive(global::System.Runtime.InteropServices.HandleRef model, global::System.Runtime.InteropServices.HandleRef modelPrimitive);
60 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_RemoveModelPrimitive2")]
61 public static extern void RemoveModelPrimitive(global::System.Runtime.InteropServices.HandleRef model, uint index);
63 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_GetModelPrimitive")]
64 public static extern global::System.IntPtr GetModelPrimitive(global::System.Runtime.InteropServices.HandleRef model, uint index);
66 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_FindChildModelNodeByName")]
67 public static extern global::System.IntPtr FindChildModelNodeByName(global::System.Runtime.InteropServices.HandleRef model, string nodeName);
69 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_GetChildModelNodeCount")]
70 public static extern uint GetChildModelNodeCount(global::System.Runtime.InteropServices.HandleRef model);
72 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Model_Node_GetChildModelNodeAt")]
73 public static extern global::System.IntPtr GetChildModelNodeAt(global::System.Runtime.InteropServices.HandleRef model, uint index);
75 [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_ModelNode_SetColliderMesh")]
76 public static extern global::System.IntPtr SetColliderMesh(global::System.Runtime.InteropServices.HandleRef modelNode,
78 Vec3[] nPtr, int vLength, int[] iPtr, int iLength);