From 355999562f5772520ad2385debdd1988b25e34b0 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Fri, 20 Jun 2025 18:35:21 +0800 Subject: [PATCH] move Axis class to own file --- thermion_dart/lib/src/filament/filament.dart | 1 + .../filament/src/implementation/ffi_gizmo.dart | 18 +++++++----------- .../lib/src/filament/src/interface/axis.dart | 13 +++++++++++++ .../lib/src/filament/src/interface/gizmo.dart | 13 +------------ 4 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 thermion_dart/lib/src/filament/src/interface/axis.dart diff --git a/thermion_dart/lib/src/filament/filament.dart b/thermion_dart/lib/src/filament/filament.dart index 5069ab1d..832c0b3c 100644 --- a/thermion_dart/lib/src/filament/filament.dart +++ b/thermion_dart/lib/src/filament/filament.dart @@ -2,3 +2,4 @@ export 'src/interface/filament_app.dart'; export 'src/interface/engine.dart'; export 'src/interface/layers.dart'; export 'src/interface/light_options.dart'; +export 'src/interface/axis.dart'; diff --git a/thermion_dart/lib/src/filament/src/implementation/ffi_gizmo.dart b/thermion_dart/lib/src/filament/src/implementation/ffi_gizmo.dart index 9bc86ce3..85ac4f64 100644 --- a/thermion_dart/lib/src/filament/src/implementation/ffi_gizmo.dart +++ b/thermion_dart/lib/src/filament/src/implementation/ffi_gizmo.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:thermion_dart/src/bindings/bindings.dart'; import 'package:thermion_dart/src/filament/src/implementation/ffi_asset.dart'; import 'package:thermion_dart/thermion_dart.dart'; - +import '../interface/axis.dart'; import 'ffi_view.dart'; class FFIGizmo extends FFIAsset implements GizmoAsset { @@ -14,15 +14,13 @@ class FFIGizmo extends FFIAsset implements GizmoAsset { late FFIView view; - FFIGizmo( - super.asset, - super.app, - super.animationManager, - { + FFIGizmo( + super.asset, + super.app, + super.animationManager, { required this.view, required this.entities, }) { - _callbackHolder = _onPickResult.asCallback(); } @@ -33,10 +31,8 @@ class FFIGizmo extends FFIAsset implements GizmoAsset { _callbackHolder.dispose(); } - void _onPickResult(int resultType, double x, double y, double z) { - - final type = switch(resultType) { + final type = switch (resultType) { TGizmoPickResultType.AxisX => GizmoPickResultType.AxisX, TGizmoPickResultType.AxisY => GizmoPickResultType.AxisY, TGizmoPickResultType.AxisZ => GizmoPickResultType.AxisZ, @@ -82,7 +78,7 @@ class FFIGizmo extends FFIAsset implements GizmoAsset { @override Future highlight(Axis axis) async { Gizmo_unhighlight(asset.cast()); - final tAxis = switch(axis) { + final tAxis = switch (axis) { Axis.X => TGizmoAxis.X, Axis.Y => TGizmoAxis.Y, Axis.Z => TGizmoAxis.Z diff --git a/thermion_dart/lib/src/filament/src/interface/axis.dart b/thermion_dart/lib/src/filament/src/interface/axis.dart new file mode 100644 index 00000000..2a168a0f --- /dev/null +++ b/thermion_dart/lib/src/filament/src/interface/axis.dart @@ -0,0 +1,13 @@ +import 'package:vector_math/vector_math_64.dart'; + +enum Axis { + X(const [1.0, 0.0, 0.0]), + Y(const [0.0, 1.0, 0.0]), + Z(const [0.0, 0.0, 1.0]); + + const Axis(this.vector); + + final List vector; + + Vector3 asVector() => Vector3(vector[0], vector[1], vector[2]); +} \ No newline at end of file diff --git a/thermion_dart/lib/src/filament/src/interface/gizmo.dart b/thermion_dart/lib/src/filament/src/interface/gizmo.dart index 79d3a2e3..68613a28 100644 --- a/thermion_dart/lib/src/filament/src/interface/gizmo.dart +++ b/thermion_dart/lib/src/filament/src/interface/gizmo.dart @@ -1,19 +1,8 @@ +import 'axis.dart'; import 'entity.dart'; import 'package:thermion_dart/thermion_dart.dart'; import 'package:vector_math/vector_math_64.dart'; -enum Axis { - X(const [1.0, 0.0, 0.0]), - Y(const [0.0, 1.0, 0.0]), - Z(const [0.0, 0.0, 1.0]); - - const Axis(this.vector); - - final List vector; - - Vector3 asVector() => Vector3(vector[0], vector[1], vector[2]); -} - enum GizmoPickResultType { AxisX, AxisY, AxisZ, Parent, None } enum GizmoType { translation, rotation }