From 24c29593be05fd8c6bf194d1cab00d5c4c9fae30 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Sun, 26 May 2024 12:11:40 +0800 Subject: [PATCH] expose methods for getting bone names --- dart_filament/native/include/DartFilamentApi.h | 3 +++ dart_filament/native/include/SceneManager.hpp | 1 + 2 files changed, 4 insertions(+) diff --git a/dart_filament/native/include/DartFilamentApi.h b/dart_filament/native/include/DartFilamentApi.h index e4c76873..6fdf4754 100644 --- a/dart_filament/native/include/DartFilamentApi.h +++ b/dart_filament/native/include/DartFilamentApi.h @@ -162,6 +162,9 @@ extern "C" EMSCRIPTEN_KEEPALIVE int get_animation_count(void *sceneManager, EntityId asset); EMSCRIPTEN_KEEPALIVE void get_animation_name(void *sceneManager, EntityId entity, char *const outPtr, int index); EMSCRIPTEN_KEEPALIVE float get_animation_duration(void *sceneManager, EntityId entity, int index); + EMSCRIPTEN_KEEPALIVE int get_bone_count(void *sceneManager, EntityId assetEntity, int skinIndex); + EMSCRIPTEN_KEEPALIVE void get_bone_names(void *sceneManager, EntityId assetEntity, const char** outPtr, int skinIndex); + EMSCRIPTEN_KEEPALIVE void get_morph_target_name(void *sceneManager, EntityId assetEntity, EntityId childEntity, char *const outPtr, int index); EMSCRIPTEN_KEEPALIVE int get_morph_target_name_count(void *sceneManager, EntityId assetEntity, EntityId childEntity); EMSCRIPTEN_KEEPALIVE void remove_entity(const void *const viewer, EntityId asset); diff --git a/dart_filament/native/include/SceneManager.hpp b/dart_filament/native/include/SceneManager.hpp index fe797424..2f8f2853 100644 --- a/dart_filament/native/include/SceneManager.hpp +++ b/dart_filament/native/include/SceneManager.hpp @@ -61,6 +61,7 @@ namespace flutter_filament float getAnimationDuration(EntityId entity, int animationIndex); unique_ptr> getMorphTargetNames(EntityId assetEntityId, EntityId childEntity); + unique_ptr> getBoneNames(EntityId assetEntityId, EntityId childEntity); void transformToUnitCube(EntityId e); inline void updateTransform(EntityId e); void setScale(EntityId e, float scale);