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