update federated flutter_filament
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -18,8 +18,11 @@ class FlutterFilamentPlugin {
|
||||
}
|
||||
await FlutterFilamentPlatform.instance
|
||||
.initialize(uberArchivePath: uberArchivePath);
|
||||
print("instance init completed");
|
||||
_initialized.complete(true);
|
||||
print("completed compelter");
|
||||
await viewer.initialized;
|
||||
print("viewer init complete");
|
||||
}
|
||||
|
||||
Future<FlutterFilamentTexture?> createTexture(
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:dart_filament/dart_filament/entities/filament_entity.dart';
|
||||
import 'package:dart_filament/dart_filament/filament_viewer_impl.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:dart_filament/dart_filament/abstract_filament_viewer.dart';import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import '../../utils/camera_orientation.dart';
|
||||
|
||||
@@ -8,7 +7,7 @@ import 'dart:math';
|
||||
import 'package:vector_math/vector_math_64.dart' as v64;
|
||||
|
||||
class CameraOptionsWidget extends StatefulWidget {
|
||||
final FilamentViewer controller;
|
||||
final AbstractFilamentViewer controller;
|
||||
final CameraOrientation cameraOrientation;
|
||||
final List<({FilamentEntity entity, String name})> cameras;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:dart_filament/dart_filament.dart';
|
||||
import 'package:dart_filament/dart_filament/entities/entity_transform_controller.dart';
|
||||
|
||||
///
|
||||
/// A widget that translates mouse gestures to zoom/pan/rotate actions.
|
||||
|
||||
@@ -65,9 +65,7 @@ class FilamentGestureDetector extends StatelessWidget {
|
||||
if (initialized.data != true) {
|
||||
return Container();
|
||||
}
|
||||
if (kIsWeb) {
|
||||
throw Exception("TODO");
|
||||
} else if (Platform.isLinux ||
|
||||
if (kIsWeb || Platform.isLinux ||
|
||||
Platform.isWindows ||
|
||||
Platform.isMacOS) {
|
||||
return FilamentGestureDetectorDesktop(
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:dart_filament/dart_filament/abstract_filament_viewer.dart';
|
||||
import 'package:dart_filament/dart_filament/entities/gizmo.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
@@ -66,10 +65,7 @@ class _FilamentGestureDetectorDesktopState
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
widget.controller.scene.gizmo.then((g) {
|
||||
_gizmo = g;
|
||||
setState(() {});
|
||||
});
|
||||
_gizmo = widget.controller.gizmo;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -107,9 +103,6 @@ class _FilamentGestureDetectorDesktopState
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (_gizmo == null) {
|
||||
return Container();
|
||||
}
|
||||
return Listener(
|
||||
// onPointerHover: (event) async {
|
||||
// if (_gizmo.isActive) {
|
||||
@@ -134,7 +127,7 @@ class _FilamentGestureDetectorDesktopState
|
||||
throw Exception("TODO - is this a pinch zoom on laptop trackpad?");
|
||||
},
|
||||
onPointerDown: (d) async {
|
||||
if (_gizmo!.isActive) {
|
||||
if (_gizmo?.isActive == true) {
|
||||
return;
|
||||
}
|
||||
if (d.buttons != kTertiaryButton && widget.enablePicking) {
|
||||
@@ -145,7 +138,7 @@ class _FilamentGestureDetectorDesktopState
|
||||
},
|
||||
// holding/moving the left mouse button is interpreted as a pan, middle mouse button as a rotate
|
||||
onPointerMove: (PointerMoveEvent d) async {
|
||||
if (_gizmo!.isActive) {
|
||||
if (_gizmo?.isActive == true) {
|
||||
_gizmo!.translate(d.delta.dx, d.delta.dy);
|
||||
return;
|
||||
}
|
||||
@@ -173,7 +166,7 @@ class _FilamentGestureDetectorDesktopState
|
||||
// 2) if _pointerMoving is false, this is interpreted as a pick
|
||||
// same applies to middle mouse button, but this is ignored as a pick
|
||||
onPointerUp: (PointerUpEvent d) async {
|
||||
if (_gizmo!.isActive) {
|
||||
if (_gizmo?.isActive == true) {
|
||||
_gizmo!.reset();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'dart:io';
|
||||
import 'dart:math';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'dart:async';
|
||||
|
||||
@@ -129,7 +130,7 @@ class _FilamentWidgetState extends State<FilamentWidget> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (_texture == null) {
|
||||
return widget.initial ?? Container(color: Colors.red);
|
||||
return widget.initial ?? Container(color: kIsWeb ? Colors.transparent : Colors.red);
|
||||
}
|
||||
|
||||
var textureWidget = Texture(
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:dart_filament/dart_filament/entities/filament_entity.dart';
|
||||
import 'package:dart_filament/dart_filament/filament_viewer_impl.dart';
|
||||
import 'package:dart_filament/dart_filament/abstract_filament_viewer.dart';
|
||||
import 'package:dart_filament/dart_filament/utils/light_options.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
@@ -9,7 +7,7 @@ import 'package:flutter/widgets.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' as v;
|
||||
|
||||
class LightSliderWidget extends StatefulWidget {
|
||||
final FilamentViewer controller;
|
||||
final AbstractFilamentViewer controller;
|
||||
|
||||
final LightOptions options;
|
||||
final bool showControls;
|
||||
|
||||
Reference in New Issue
Block a user