Bind CastShadow and ReceiveShadow of Model and ModelNode 10/307410/3
authorhuiyu.eun <huiyu.eun@samsung.com>
Fri, 8 Mar 2024 04:48:13 +0000 (13:48 +0900)
committerhuiyu eun <huiyu.eun@samsung.com>
Mon, 11 Mar 2024 05:20:42 +0000 (05:20 +0000)
Change-Id: I2481d33d07f11665ce7e13bc049d6f2992f41b86
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
dali-csharp-binder/dali-scene3d/model-node-wrap.cpp
dali-csharp-binder/dali-scene3d/model-wrap.cpp

index fcc347b..1ec0c76 100644 (file)
@@ -273,6 +273,77 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ModelNode_SetColliderMesh(void *modelNod
   } CALL_CATCH_EXCEPTION();
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ModelNode_CastShadow(void* modelNodePtr, bool csCastShadow)
+{
+  Dali::Scene3D::ModelNode *modelNode = (Dali::Scene3D::ModelNode *) modelNodePtr;
+
+  if(!modelNode)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::MoModelNodedel", 0);
+    return;
+  }
+
+  try
+  {
+    modelNode->CastShadow(csCastShadow);
+  }
+  CALL_CATCH_EXCEPTION();
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_ModelNode_IsShadowCasting(void* modelNodePtr)
+{
+  Dali::Scene3D::ModelNode *modelNode = (Dali::Scene3D::ModelNode *) modelNodePtr;
+  bool                      result;
+
+  if(!modelNode)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
+    return 0;
+  }
+
+  try
+  {
+    result = modelNode->IsShadowCasting();
+  }
+  CALL_CATCH_EXCEPTION(0);
+  return result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ModelNode_ReceiveShadow(void* modelNodePtr, bool csReceiveShadow)
+{
+  Dali::Scene3D::ModelNode *modelNode = (Dali::Scene3D::ModelNode *) modelNodePtr;
+
+  if(!modelNode)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
+    return;
+  }
+
+  try
+  {
+    modelNode->ReceiveShadow(csReceiveShadow);
+  }
+  CALL_CATCH_EXCEPTION();
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_ModelNode_IsShadowReceiving(void* modelNodePtr)
+{
+  Dali::Scene3D::ModelNode *modelNode = (Dali::Scene3D::ModelNode *) modelNodePtr;
+  bool                      result;
+
+  if(!modelNode)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0);
+    return 0;
+  }
+
+  try
+  {
+    result = modelNode->IsShadowReceiving();
+  }
+  CALL_CATCH_EXCEPTION(0);
+  return result;
+}
 #ifdef __cplusplus
 }
 #endif
index 892ec83..e86d771 100644 (file)
@@ -464,6 +464,78 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_SetMotionData(void* csModel, void*
   CALL_CATCH_EXCEPTION();
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_CastShadow(void* csModel, bool csCastShadow)
+{
+  Dali::Scene3D::Model*      model      = (Dali::Scene3D::Model*)csModel;
+
+  if(!model)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
+    return;
+  }
+
+  try
+  {
+    model->CastShadow(csCastShadow);
+  }
+  CALL_CATCH_EXCEPTION();
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_Model_IsShadowCasting(void* csModel)
+{
+  Dali::Scene3D::Model*      model      = (Dali::Scene3D::Model*)csModel;
+  bool                       result;
+
+  if(!model)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
+    return 0;
+  }
+
+  try
+  {
+    result = model->IsShadowCasting();
+  }
+  CALL_CATCH_EXCEPTION(0);
+  return result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_ReceiveShadow(void* csModel, bool csReceiveShadow)
+{
+  Dali::Scene3D::Model*      model      = (Dali::Scene3D::Model*)csModel;
+
+  if(!model)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
+    return;
+  }
+
+  try
+  {
+    model->ReceiveShadow(csReceiveShadow);
+  }
+  CALL_CATCH_EXCEPTION();
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_Model_IsShadowReceiving(void* csModel)
+{
+  Dali::Scene3D::Model*      model      = (Dali::Scene3D::Model*)csModel;
+  bool                       result;
+
+  if(!model)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::Model", 0);
+    return 0;
+  }
+
+  try
+  {
+    result = model->IsShadowReceiving();
+  }
+  CALL_CATCH_EXCEPTION(0);
+  return result;
+}
+
 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_LoadBvhAnimation_1(void* csModel, char* csFileName, void* csScale, bool csUseRootNodeTranslate)
 {
   Dali::Scene3D::Model* model = (Dali::Scene3D::Model*)csModel;