From 4aa8889834d32a65ee160af8ec274552f14d2939 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Mon, 6 Jan 2025 18:11:32 +0800 Subject: [PATCH] internal: rename Viewer_getMainCamera and return null in Engine_getCameraComponent if camera entity is null --- .../src/viewer/src/ffi/src/thermion_viewer_ffi.dart | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart b/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart index da63623a..4f02f74c 100644 --- a/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart +++ b/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart @@ -1083,20 +1083,28 @@ class ThermionViewerFFI extends ThermionViewer { /// /// Future getMainCameraEntity() async { - return get_main_camera(_viewer!); + return Viewer_getMainCamera(_viewer!); } /// /// /// Future getMainCamera() async { - var camera = await getCameraComponent(await getMainCameraEntity()); + final mainCameraEntity = await getMainCameraEntity(); + var camera = await getCameraComponent(mainCameraEntity); return camera!; } + /// + /// + /// Future getCameraComponent(ThermionEntity cameraEntity) async { var engine = Viewer_getEngine(_viewer!); var camera = Engine_getCameraComponent(engine, cameraEntity); + if (camera == nullptr) { + throw Exception( + "Failed to get camera component for entity $cameraEntity"); + } return FFICamera(camera, engine, _transformManager!); }