998158491d3c6f1d8879c9b329a0915921b0b48b
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / dali-scene3d / model-node-wrap.cpp
1 /*
2  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 // EXTERNAL INCLUDES
19 #include <dali-scene3d/public-api/model-components/model-node.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-csharp-binder/common/common.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_New_SWIG_0()
29 {
30   Dali::Scene3D::ModelNode result;
31   {
32     try
33     {
34       result = Dali::Scene3D::ModelNode::New();
35     }
36     CALL_CATCH_EXCEPTION(0);
37   }
38
39   return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result);
40 }
41
42 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Model_Node_SWIG_0()
43 {
44   Dali::Scene3D::ModelNode* result = 0;
45
46   {
47     try
48     {
49       result = (Dali::Scene3D::ModelNode*)new Dali::Scene3D::ModelNode();
50     }
51     CALL_CATCH_EXCEPTION(0);
52   }
53
54   return (void*)result;
55 }
56
57 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_Model_Node_SWIG_1(void* csModel)
58 {
59   Dali::Scene3D::ModelNode* model  = (Dali::Scene3D::ModelNode*)csModel;
60   Dali::Scene3D::ModelNode* result = 0;
61
62   if(!model)
63   {
64     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::ModelNode const & type is null", 0);
65     return 0;
66   }
67   {
68     try
69     {
70       result = (Dali::Scene3D::ModelNode*)new Dali::Scene3D::ModelNode((Dali::Scene3D::ModelNode const&)*model);
71     }
72     CALL_CATCH_EXCEPTION(0);
73   }
74
75   return (void*)result;
76 }
77
78 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Model_Node(void* csModel)
79 {
80   Dali::Scene3D::ModelNode* model = (Dali::Scene3D::ModelNode*)csModel;
81   {
82     try
83     {
84       delete model;
85     }
86     CALL_CATCH_EXCEPTION();
87   }
88 }
89
90 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_Assign(void* csDestination, void* csSource)
91 {
92   Dali::Scene3D::ModelNode* destination = (Dali::Scene3D::ModelNode*)csDestination;
93   Dali::Scene3D::ModelNode* source      = (Dali::Scene3D::ModelNode*)csSource;
94   Dali::Scene3D::ModelNode* result      = 0;
95
96   if(!source)
97   {
98     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::ModelNode const & type is null", 0);
99     return 0;
100   }
101   {
102     try
103     {
104       result = (Dali::Scene3D::ModelNode*)&(destination)->operator=((Dali::Scene3D::ModelNode const&)*source);
105     }
106     CALL_CATCH_EXCEPTION(0);
107   }
108
109   return (void*)result;
110 }
111
112 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_DownCast(void* csHandle)
113 {
114   Dali::BaseHandle*    handle = (Dali::BaseHandle*)csHandle;
115   Dali::Scene3D::ModelNode result;
116
117   if(!handle)
118   {
119     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
120     return 0;
121   }
122   {
123     try
124     {
125       result = Dali::Scene3D::ModelNode::DownCast(*handle);
126     }
127     CALL_CATCH_EXCEPTION(0);
128   }
129
130   return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result);
131 }
132
133 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Model_Node_GetModelPrimitiveCount(void* csModelNode)
134 {
135   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
136
137   if(!modelNode)
138   {
139     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
140     return 0;
141   }
142   {
143     try
144     {
145       return modelNode->GetModelPrimitiveCount();
146     }
147     CALL_CATCH_EXCEPTION(0);
148   }
149 }
150
151 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Node_AddModelPrimitive(void* csModelNode, void* csModelPrimitive)
152 {
153   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
154   Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive;
155
156   if(!modelNode)
157   {
158     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
159     return;
160   }
161   if(!modelPrimitive)
162   {
163     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0);
164     return;
165   }
166   {
167     try
168     {
169       modelNode->AddModelPrimitive(*modelPrimitive);
170     }
171     CALL_CATCH_EXCEPTION();
172   }
173 }
174
175 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Node_RemoveModelPrimitive1(void* csModelNode, void* csModelPrimitive)
176 {
177   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
178   Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive;
179
180   if(!modelNode)
181   {
182     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
183     return;
184   }
185   if(!modelPrimitive)
186   {
187     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0);
188     return;
189   }
190   {
191     try
192     {
193       modelNode->RemoveModelPrimitive(*modelPrimitive);
194     }
195     CALL_CATCH_EXCEPTION();
196   }
197 }
198
199 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Node_RemoveModelPrimitive2(void* csModelNode, unsigned int index)
200 {
201   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
202
203   if(!modelNode)
204   {
205     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
206     return;
207   }
208   {
209     try
210     {
211       modelNode->RemoveModelPrimitive(index);
212     }
213     CALL_CATCH_EXCEPTION();
214   }
215 }
216
217 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_GetModelPrimitive(void* csModelNode, unsigned int index)
218 {
219   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
220   Dali::Scene3D::ModelPrimitive       result;
221
222   if(!modelNode)
223   {
224     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
225     return nullptr;
226   }
227   {
228     try
229     {
230       result = modelNode->GetModelPrimitive(index);
231     }
232     CALL_CATCH_EXCEPTION(nullptr);
233   }
234   return new Dali::Scene3D::ModelPrimitive((const Dali::Scene3D::ModelPrimitive&)result);
235 }
236
237 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_FindChildModelNodeByName(void* csModelNode, char* nodeName)
238 {
239   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
240   Dali::Scene3D::ModelNode result;
241
242   if(!modelNode)
243   {
244     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
245     return nullptr;
246   }
247   {
248     try
249     {
250       result = modelNode->FindChildModelNodeByName(nodeName);
251     }
252     CALL_CATCH_EXCEPTION(nullptr);
253   }
254   return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result);
255 }
256
257 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Model_Node_GetChildModelNodeCount(void* csModelNode)
258 {
259   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
260
261   if(!modelNode)
262   {
263     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
264     return 0;
265   }
266   {
267     try
268     {
269       return modelNode->GetChildCount();
270     }
271     CALL_CATCH_EXCEPTION(0);
272   }
273 }
274
275 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_GetChildModelNodeAt(void* csModelNode, uint32_t index)
276 {
277   Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode;
278   Dali::Scene3D::ModelNode result;
279
280   if(!modelNode)
281   {
282     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
283     return nullptr;
284   }
285   {
286     try
287     {
288       Dali::Actor actor = modelNode->GetChildAt(index);
289       result = Dali::Scene3D::ModelNode::DownCast(actor);
290     }
291     CALL_CATCH_EXCEPTION(nullptr);
292   }
293   return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result);
294 }
295
296 #ifdef __cplusplus
297 }
298 #endif