Fix svace issue : nullptr check for inputMethodContextP
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / dali-scene3d / motion-data-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-motion/motion-data.h>
20 #include <dali-scene3d/public-api/model-motion/motion-index/motion-index.h>
21 #include <dali-scene3d/public-api/model-motion/motion-value.h>
22
23 // INTERNAL INCLUDES
24 #include <dali-csharp-binder/common/common.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_New_SWIG_0()
31 {
32   Dali::Scene3D::MotionData result;
33
34   {
35     try
36     {
37       result = Dali::Scene3D::MotionData::New();
38     }
39     CALL_CATCH_EXCEPTION(0);
40   }
41
42   return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
43 }
44
45 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_New_SWIG_1(float durationSeconds)
46 {
47   Dali::Scene3D::MotionData result;
48
49   {
50     try
51     {
52       result = Dali::Scene3D::MotionData::New(durationSeconds);
53     }
54     CALL_CATCH_EXCEPTION(0);
55   }
56
57   return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
58 }
59
60 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_MotionData_SWIG_0()
61 {
62   Dali::Scene3D::MotionData* result = 0;
63
64   {
65     try
66     {
67       result = (Dali::Scene3D::MotionData*)new Dali::Scene3D::MotionData();
68     }
69     CALL_CATCH_EXCEPTION(0);
70   }
71
72   return (void*)result;
73 }
74
75 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_MotionData_SWIG_1(void* csMotionData)
76 {
77   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
78   Dali::Scene3D::MotionData* result     = 0;
79
80   if(!motionData)
81   {
82     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::MotionData const & type is null", 0);
83     return 0;
84   }
85   {
86     try
87     {
88       result = (Dali::Scene3D::MotionData*)new Dali::Scene3D::MotionData((Dali::Scene3D::MotionData const&)*motionData);
89     }
90     CALL_CATCH_EXCEPTION(0);
91   }
92
93   return (void*)result;
94 }
95
96 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_MotionData(void* csMotionData)
97 {
98   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
99   {
100     try
101     {
102       delete motionData;
103     }
104     CALL_CATCH_EXCEPTION();
105   }
106 }
107
108 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_Assign(void* csDestination, void* csSource)
109 {
110   Dali::Scene3D::MotionData* destination = (Dali::Scene3D::MotionData*)csDestination;
111   Dali::Scene3D::MotionData* source      = (Dali::Scene3D::MotionData*)csSource;
112   Dali::Scene3D::MotionData* result      = 0;
113
114   if(!source)
115   {
116     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::MotionData const & type is null", 0);
117     return 0;
118   }
119   {
120     try
121     {
122       result = (Dali::Scene3D::MotionData*)&(destination)->operator=((Dali::Scene3D::MotionData const&)*source);
123     }
124     CALL_CATCH_EXCEPTION(0);
125   }
126
127   return (void*)result;
128 }
129
130 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_DownCast(void* csHandle)
131 {
132   Dali::BaseHandle*         handle = (Dali::BaseHandle*)csHandle;
133   Dali::Scene3D::MotionData result;
134
135   if(!handle)
136   {
137     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
138     return 0;
139   }
140   {
141     try
142     {
143       result = Dali::Scene3D::MotionData::DownCast(*handle);
144     }
145     CALL_CATCH_EXCEPTION(0);
146   }
147
148   return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
149 }
150
151 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_MotionData_GetMotionCount(void* csMotionData)
152 {
153   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
154   unsigned int               result;
155
156   if(!motionData)
157   {
158     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
159     return 0;
160   }
161   {
162     try
163     {
164       result = static_cast<unsigned int>(motionData->GetMotionCount());
165     }
166     CALL_CATCH_EXCEPTION(0);
167   }
168
169   return result;
170 }
171
172 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_GetIndex(void* csMotionData, unsigned int index)
173 {
174   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
175   Dali::Scene3D::MotionIndex result;
176
177   if(!motionData)
178   {
179     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
180     return 0;
181   }
182   {
183     try
184     {
185       result = motionData->GetIndex(static_cast<uint32_t>(index));
186     }
187     CALL_CATCH_EXCEPTION(0);
188   }
189
190   return new Dali::Scene3D::MotionIndex((const Dali::Scene3D::MotionIndex&)result);
191 }
192
193 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_GetValue(void* csMotionData, unsigned int index)
194 {
195   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
196   Dali::Scene3D::MotionValue result;
197
198   if(!motionData)
199   {
200     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
201     return 0;
202   }
203   {
204     try
205     {
206       result = motionData->GetValue(static_cast<uint32_t>(index));
207     }
208     CALL_CATCH_EXCEPTION(0);
209   }
210
211   return new Dali::Scene3D::MotionValue((const Dali::Scene3D::MotionValue&)result);
212 }
213
214 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_Add(void* csMotionData, void* csMotionIndex, void* csMotionValue)
215 {
216   Dali::Scene3D::MotionData*  motionData  = (Dali::Scene3D::MotionData*)csMotionData;
217   Dali::Scene3D::MotionIndex* motionIndex = (Dali::Scene3D::MotionIndex*)csMotionIndex;
218   Dali::Scene3D::MotionValue* motionValue = (Dali::Scene3D::MotionValue*)csMotionValue;
219
220   if(!motionData)
221   {
222     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
223     return;
224   }
225   if(!motionIndex)
226   {
227     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionIndex", 0);
228     return;
229   }
230   if(!motionValue)
231   {
232     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionValue", 0);
233     return;
234   }
235
236   {
237     try
238     {
239       motionData->Add(*motionIndex, *motionValue);
240     }
241     CALL_CATCH_EXCEPTION();
242   }
243 }
244
245 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_Clear(void* csMotionData)
246 {
247   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
248
249   if(!motionData)
250   {
251     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
252     return;
253   }
254
255   {
256     try
257     {
258       motionData->Clear();
259     }
260     CALL_CATCH_EXCEPTION();
261   }
262 }
263
264 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_SetDuration(void* csMotionData, float durationSeconds)
265 {
266   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
267
268   if(!motionData)
269   {
270     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
271     return;
272   }
273
274   {
275     try
276     {
277       motionData->SetDuration(durationSeconds);
278     }
279     CALL_CATCH_EXCEPTION();
280   }
281 }
282
283 SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MotionData_GetDuration(void* csMotionData)
284 {
285   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
286   float                      result;
287
288   if(!motionData)
289   {
290     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
291     return 0.0f;
292   }
293
294   {
295     try
296     {
297       result = motionData->GetDuration();
298     }
299     CALL_CATCH_EXCEPTION(0.0f);
300   }
301
302   return result;
303 }
304
305 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadBvh(void* csMotionData, char* csFileName, bool csUseRootTranslationOnly, void* csScale, bool csSynchronousLoad)
306 {
307   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
308
309   if(!motionData)
310   {
311     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
312     return;
313   }
314   if(!csFileName)
315   {
316     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for filename", 0);
317     return;
318   }
319
320   Dali::Vector3 scale = Dali::Vector3::ONE;
321   // csScale is option.
322   if(csScale != nullptr)
323   {
324     scale = Dali::Vector3(*static_cast<const Dali::Vector3*>(csScale));
325   }
326
327   std::string filename(csFileName);
328   {
329     try
330     {
331       motionData->LoadBvh(filename, csUseRootTranslationOnly, scale, csSynchronousLoad);
332     }
333     CALL_CATCH_EXCEPTION();
334   }
335 }
336
337 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadBvhFromBuffer(void* csMotionData, char* csBuffer, int csBufferLength, bool csUseRootTranslationOnly, void* csScale, bool csSynchronousLoad)
338 {
339   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
340
341   if(!motionData)
342   {
343     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
344     return;
345   }
346   if(!csBuffer)
347   {
348     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for buffer", 0);
349     return;
350   }
351
352   Dali::Vector3 scale = Dali::Vector3::ONE;
353   // csScale is option.
354   if(csScale != nullptr)
355   {
356     scale = Dali::Vector3(*static_cast<const Dali::Vector3*>(csScale));
357   }
358
359   const uint8_t* rawBuffer = reinterpret_cast<const uint8_t*>(csBuffer);
360   {
361     try
362     {
363       motionData->LoadBvhFromBuffer(rawBuffer, csBufferLength, csUseRootTranslationOnly, scale, csSynchronousLoad);
364     }
365     CALL_CATCH_EXCEPTION();
366   }
367 }
368
369 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadFacialAnimation(void* csMotionData, char* csFileName, bool csSynchronousLoad)
370 {
371   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
372
373   if(!motionData)
374   {
375     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
376     return;
377   }
378   if(!csFileName)
379   {
380     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for filename", 0);
381     return;
382   }
383
384   std::string filename(csFileName);
385   {
386     try
387     {
388       motionData->LoadFacialAnimation(filename, csSynchronousLoad);
389     }
390     CALL_CATCH_EXCEPTION();
391   }
392 }
393
394 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadFacialAnimationFromBuffer(void* csMotionData, char* csBuffer, int csBufferLength, bool csSynchronousLoad)
395 {
396   Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
397
398   if(!motionData)
399   {
400     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
401     return;
402   }
403   if(!csBuffer)
404   {
405     SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for buffer", 0);
406     return;
407   }
408
409   const uint8_t* rawBuffer = reinterpret_cast<const uint8_t*>(csBuffer);
410   {
411     try
412     {
413       motionData->LoadFacialAnimationFromBuffer(rawBuffer, csBufferLength, csSynchronousLoad);
414     }
415     CALL_CATCH_EXCEPTION();
416   }
417 }
418
419 // Signals
420 GENERATE_SIGNAL(Dali::Scene3D::MotionData*, void(*)(Dali::Scene3D::MotionData), Dali_MotionData, LoadCompletedSignal);
421 // CSharp_Dali_MotionData_LoadCompletedSignal_Connect
422 // CSharp_Dali_MotionData_LoadCompletedSignal_Disconnect
423
424 #ifdef __cplusplus
425 }
426 #endif