// EXTERNAL INCLUDES
#include <dali-scene3d/public-api/model-components/model-node.h>
+#include <dali-scene3d/public-api/algorithm/navigation-mesh.h>
+#include <dali-scene3d/public-api/loader/navigation-mesh-factory.h>
// INTERNAL INCLUDES
#include <dali-csharp-binder/common/common.h>
return new Dali::Scene3D::ModelNode((const Dali::Scene3D::ModelNode&)result);
}
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ModelNode_SetColliderMesh(void *modelNodePtr, void* vertexPtr, void* normalPtr, unsigned long vertexCount, void* indexPtr, unsigned long indexCount) {
+ Dali::Scene3D::ModelNode *modelNode = (Dali::Scene3D::ModelNode *) modelNodePtr;
+ auto vertices = reinterpret_cast<Dali::Vector3*>(vertexPtr);
+ auto normals = reinterpret_cast<Dali::Vector3*>(normalPtr);
+ auto indices = reinterpret_cast<uint32_t*>(indexPtr);
+
+ try {
+ auto colliderMesh = Dali::Scene3D::Loader::NavigationMeshFactory::CreateFromVertexFaceList(vertices, normals, vertexCount, indices, indexCount);
+ modelNode->SetColliderMesh(std::move(colliderMesh));
+ } CALL_CATCH_EXCEPTION();
+}
+
#ifdef __cplusplus
}
#endif
return new Dali::Animation((const Dali::Animation&)result);
}
+GENERATE_SIGNAL(Dali::Scene3D::Model*, bool (*)(Dali::Scene3D::Model, Dali::Scene3D::ModelNode), Dali_Model, MeshHitSignal);
+
#ifdef __cplusplus
}
#endif