add createCamera method to FilamentApp
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:thermion_dart/src/filament/src/implementation/ffi_camera.dart';
|
||||
import 'package:thermion_dart/src/filament/src/interface/scene.dart';
|
||||
import 'package:thermion_dart/src/filament/src/implementation/ffi_asset.dart';
|
||||
import 'package:thermion_dart/src/filament/src/implementation/ffi_gizmo.dart';
|
||||
@@ -194,10 +195,23 @@ class FFIFilamentApp extends FilamentApp<Pointer> {
|
||||
return view;
|
||||
}
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
Future<Scene> createScene() async {
|
||||
return FFIScene(Engine_createScene(engine));
|
||||
}
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
Future<Camera> createCamera() async {
|
||||
return FFICamera(
|
||||
await withPointerCallback<TCamera>(
|
||||
(cb) => Engine_createCameraRenderThread(engine, cb)),
|
||||
this);
|
||||
}
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
@@ -70,6 +70,11 @@ abstract class FilamentApp<T> {
|
||||
///
|
||||
Future<Scene> createScene();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
Future<Camera> createCamera();
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
@@ -76,10 +76,8 @@ class ThermionViewerFFI extends ThermionViewer {
|
||||
scene = await FilamentApp.instance!.createScene() as FFIScene;
|
||||
|
||||
await view.setScene(scene);
|
||||
final camera = FFICamera(
|
||||
await withPointerCallback<TCamera>(
|
||||
(cb) => Engine_createCameraRenderThread(app.engine, cb)),
|
||||
app);
|
||||
final camera = await FilamentApp.instance!.createCamera() as FFICamera;
|
||||
|
||||
_cameras.add(camera);
|
||||
await camera.setLensProjection();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user