From: seungho baek Date: Tue, 7 Nov 2023 11:38:10 +0000 (+0900) Subject: Support to build ModelNode Tree in csharp X-Git-Tag: dali_2.2.52~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F41%2F301041%2F1;p=platform%2Fcore%2Fuifw%2Fdali-csharp-binder.git Support to build ModelNode Tree in csharp Change-Id: I73df997d9ab761dfd32f2676fcc0da5bd312bab8 Signed-off-by: seungho baek --- diff --git a/dali-csharp-binder/dali-scene3d/model-node-wrap.cpp b/dali-csharp-binder/dali-scene3d/model-node-wrap.cpp index 85229182..99815849 100644 --- a/dali-csharp-binder/dali-scene3d/model-node-wrap.cpp +++ b/dali-csharp-binder/dali-scene3d/model-node-wrap.cpp @@ -254,6 +254,45 @@ SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_FindChildModelNodeByName(voi return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result); } +SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Model_Node_GetChildModelNodeCount(void* csModelNode) +{ + Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode; + + if(!modelNode) + { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0); + return 0; + } + { + try + { + return modelNode->GetChildCount(); + } + CALL_CATCH_EXCEPTION(0); + } +} + +SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Node_GetChildModelNodeAt(void* csModelNode, uint32_t index) +{ + Dali::Scene3D::ModelNode* modelNode = (Dali::Scene3D::ModelNode*)csModelNode; + Dali::Scene3D::ModelNode result; + + if(!modelNode) + { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelNode", 0); + return nullptr; + } + { + try + { + Dali::Actor actor = modelNode->GetChildAt(index); + result = Dali::Scene3D::ModelNode::DownCast(actor); + } + CALL_CATCH_EXCEPTION(nullptr); + } + return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result); +} + #ifdef __cplusplus } #endif diff --git a/dali-csharp-binder/dali-scene3d/model-primitive-wrap.cpp b/dali-csharp-binder/dali-scene3d/model-primitive-wrap.cpp index d94b4924..34518cd7 100644 --- a/dali-csharp-binder/dali-scene3d/model-primitive-wrap.cpp +++ b/dali-csharp-binder/dali-scene3d/model-primitive-wrap.cpp @@ -188,6 +188,26 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Model_Primitive_SetMaterial(void* csMode CALL_CATCH_EXCEPTION(); } +SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Model_Primitive_GetMaterial(void* csModelPrimitive) +{ + Dali::Scene3D::ModelPrimitive* modelPrimitive = (Dali::Scene3D::ModelPrimitive*)csModelPrimitive; + Dali::Scene3D::Material result; + + if(!modelPrimitive) + { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Scene3D::ModelPrimitive", 0); + return nullptr; + } + { + try + { + result = modelPrimitive->GetMaterial(); + } + CALL_CATCH_EXCEPTION(nullptr); + } + return new Dali::Scene3D::Material((const Dali::Scene3D::Material&)result); +} + #ifdef __cplusplus }