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 #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>
24 #include <dali-csharp-binder/common/common.h>
30 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_New_SWIG_0()
32 Dali::Scene3D::MotionData result;
37 result = Dali::Scene3D::MotionData::New();
39 CALL_CATCH_EXCEPTION(0);
42 return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
45 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_New_SWIG_1(float durationSeconds)
47 Dali::Scene3D::MotionData result;
52 result = Dali::Scene3D::MotionData::New(durationSeconds);
54 CALL_CATCH_EXCEPTION(0);
57 return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
60 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_MotionData_SWIG_0()
62 Dali::Scene3D::MotionData* result = 0;
67 result = (Dali::Scene3D::MotionData*)new Dali::Scene3D::MotionData();
69 CALL_CATCH_EXCEPTION(0);
75 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_MotionData_SWIG_1(void* csMotionData)
77 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
78 Dali::Scene3D::MotionData* result = 0;
82 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::MotionData const & type is null", 0);
88 result = (Dali::Scene3D::MotionData*)new Dali::Scene3D::MotionData((Dali::Scene3D::MotionData const&)*motionData);
90 CALL_CATCH_EXCEPTION(0);
96 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_MotionData(void* csMotionData)
98 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
104 CALL_CATCH_EXCEPTION();
108 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_Assign(void* csDestination, void* csSource)
110 Dali::Scene3D::MotionData* destination = (Dali::Scene3D::MotionData*)csDestination;
111 Dali::Scene3D::MotionData* source = (Dali::Scene3D::MotionData*)csSource;
112 Dali::Scene3D::MotionData* result = 0;
116 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Scene3D::MotionData const & type is null", 0);
122 result = (Dali::Scene3D::MotionData*)&(destination)->operator=((Dali::Scene3D::MotionData const&)*source);
124 CALL_CATCH_EXCEPTION(0);
127 return (void*)result;
130 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_DownCast(void* csHandle)
132 Dali::BaseHandle* handle = (Dali::BaseHandle*)csHandle;
133 Dali::Scene3D::MotionData result;
137 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
143 result = Dali::Scene3D::MotionData::DownCast(*handle);
145 CALL_CATCH_EXCEPTION(0);
148 return new Dali::Scene3D::MotionData((const Dali::Scene3D::MotionData&)result);
151 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_MotionData_GetMotionCount(void* csMotionData)
153 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
158 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
164 result = static_cast<unsigned int>(motionData->GetMotionCount());
166 CALL_CATCH_EXCEPTION(0);
172 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_GetIndex(void* csMotionData, unsigned int index)
174 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
175 Dali::Scene3D::MotionIndex result;
179 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
185 result = motionData->GetIndex(static_cast<uint32_t>(index));
187 CALL_CATCH_EXCEPTION(0);
190 return new Dali::Scene3D::MotionIndex((const Dali::Scene3D::MotionIndex&)result);
193 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_MotionData_GetValue(void* csMotionData, unsigned int index)
195 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
196 Dali::Scene3D::MotionValue result;
200 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
206 result = motionData->GetValue(static_cast<uint32_t>(index));
208 CALL_CATCH_EXCEPTION(0);
211 return new Dali::Scene3D::MotionValue((const Dali::Scene3D::MotionValue&)result);
214 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_Add(void* csMotionData, void* csMotionIndex, void* csMotionValue)
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;
222 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
227 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionIndex", 0);
232 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionValue", 0);
239 motionData->Add(*motionIndex, *motionValue);
241 CALL_CATCH_EXCEPTION();
245 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_Clear(void* csMotionData)
247 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
251 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
260 CALL_CATCH_EXCEPTION();
264 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_SetDuration(void* csMotionData, float durationSeconds)
266 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
270 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
277 motionData->SetDuration(durationSeconds);
279 CALL_CATCH_EXCEPTION();
283 SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MotionData_GetDuration(void* csMotionData)
285 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
290 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
297 result = motionData->GetDuration();
299 CALL_CATCH_EXCEPTION(0.0f);
305 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadBvh(void* csMotionData, char* csFileName, bool csUseRootTranslationOnly, void* csScale, bool csSynchronousLoad)
307 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
311 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
316 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for filename", 0);
320 Dali::Vector3 scale = Dali::Vector3::ONE;
321 // csScale is option.
322 if(csScale != nullptr)
324 scale = Dali::Vector3(*static_cast<const Dali::Vector3*>(csScale));
327 std::string filename(csFileName);
331 motionData->LoadBvh(filename, csUseRootTranslationOnly, scale, csSynchronousLoad);
333 CALL_CATCH_EXCEPTION();
337 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadBvhFromBuffer(void* csMotionData, char* csBuffer, int csBufferLength, bool csUseRootTranslationOnly, void* csScale, bool csSynchronousLoad)
339 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
343 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
348 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for buffer", 0);
352 Dali::Vector3 scale = Dali::Vector3::ONE;
353 // csScale is option.
354 if(csScale != nullptr)
356 scale = Dali::Vector3(*static_cast<const Dali::Vector3*>(csScale));
359 const uint8_t* rawBuffer = reinterpret_cast<const uint8_t*>(csBuffer);
363 motionData->LoadBvhFromBuffer(rawBuffer, csBufferLength, csUseRootTranslationOnly, scale, csSynchronousLoad);
365 CALL_CATCH_EXCEPTION();
369 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadFacialAnimation(void* csMotionData, char* csFileName, bool csSynchronousLoad)
371 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
375 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
380 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for filename", 0);
384 std::string filename(csFileName);
388 motionData->LoadFacialAnimation(filename, csSynchronousLoad);
390 CALL_CATCH_EXCEPTION();
394 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MotionData_LoadFacialAnimationFromBuffer(void* csMotionData, char* csBuffer, int csBufferLength, bool csSynchronousLoad)
396 Dali::Scene3D::MotionData* motionData = (Dali::Scene3D::MotionData*)csMotionData;
400 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MotionData", 0);
405 SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string for buffer", 0);
409 const uint8_t* rawBuffer = reinterpret_cast<const uint8_t*>(csBuffer);
413 motionData->LoadFacialAnimationFromBuffer(rawBuffer, csBufferLength, csSynchronousLoad);
415 CALL_CATCH_EXCEPTION();
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