move Axis class to own file
This commit is contained in:
@@ -2,3 +2,4 @@ export 'src/interface/filament_app.dart';
|
|||||||
export 'src/interface/engine.dart';
|
export 'src/interface/engine.dart';
|
||||||
export 'src/interface/layers.dart';
|
export 'src/interface/layers.dart';
|
||||||
export 'src/interface/light_options.dart';
|
export 'src/interface/light_options.dart';
|
||||||
|
export 'src/interface/axis.dart';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import 'dart:async';
|
|||||||
import 'package:thermion_dart/src/bindings/bindings.dart';
|
import 'package:thermion_dart/src/bindings/bindings.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/thermion_dart.dart';
|
import 'package:thermion_dart/thermion_dart.dart';
|
||||||
|
import '../interface/axis.dart';
|
||||||
import 'ffi_view.dart';
|
import 'ffi_view.dart';
|
||||||
|
|
||||||
class FFIGizmo extends FFIAsset implements GizmoAsset {
|
class FFIGizmo extends FFIAsset implements GizmoAsset {
|
||||||
@@ -14,15 +14,13 @@ class FFIGizmo extends FFIAsset implements GizmoAsset {
|
|||||||
|
|
||||||
late FFIView view;
|
late FFIView view;
|
||||||
|
|
||||||
FFIGizmo(
|
FFIGizmo(
|
||||||
super.asset,
|
super.asset,
|
||||||
super.app,
|
super.app,
|
||||||
super.animationManager,
|
super.animationManager, {
|
||||||
{
|
|
||||||
required this.view,
|
required this.view,
|
||||||
required this.entities,
|
required this.entities,
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
_callbackHolder = _onPickResult.asCallback();
|
_callbackHolder = _onPickResult.asCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,10 +31,8 @@ class FFIGizmo extends FFIAsset implements GizmoAsset {
|
|||||||
_callbackHolder.dispose();
|
_callbackHolder.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void _onPickResult(int resultType, double x, double y, double z) {
|
void _onPickResult(int resultType, double x, double y, double z) {
|
||||||
|
final type = switch (resultType) {
|
||||||
final type = switch(resultType) {
|
|
||||||
TGizmoPickResultType.AxisX => GizmoPickResultType.AxisX,
|
TGizmoPickResultType.AxisX => GizmoPickResultType.AxisX,
|
||||||
TGizmoPickResultType.AxisY => GizmoPickResultType.AxisY,
|
TGizmoPickResultType.AxisY => GizmoPickResultType.AxisY,
|
||||||
TGizmoPickResultType.AxisZ => GizmoPickResultType.AxisZ,
|
TGizmoPickResultType.AxisZ => GizmoPickResultType.AxisZ,
|
||||||
@@ -82,7 +78,7 @@ class FFIGizmo extends FFIAsset implements GizmoAsset {
|
|||||||
@override
|
@override
|
||||||
Future highlight(Axis axis) async {
|
Future highlight(Axis axis) async {
|
||||||
Gizmo_unhighlight(asset.cast<TGizmo>());
|
Gizmo_unhighlight(asset.cast<TGizmo>());
|
||||||
final tAxis = switch(axis) {
|
final tAxis = switch (axis) {
|
||||||
Axis.X => TGizmoAxis.X,
|
Axis.X => TGizmoAxis.X,
|
||||||
Axis.Y => TGizmoAxis.Y,
|
Axis.Y => TGizmoAxis.Y,
|
||||||
Axis.Z => TGizmoAxis.Z
|
Axis.Z => TGizmoAxis.Z
|
||||||
|
|||||||
13
thermion_dart/lib/src/filament/src/interface/axis.dart
Normal file
13
thermion_dart/lib/src/filament/src/interface/axis.dart
Normal file
@@ -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<double> vector;
|
||||||
|
|
||||||
|
Vector3 asVector() => Vector3(vector[0], vector[1], vector[2]);
|
||||||
|
}
|
||||||
@@ -1,19 +1,8 @@
|
|||||||
|
import 'axis.dart';
|
||||||
import 'entity.dart';
|
import 'entity.dart';
|
||||||
import 'package:thermion_dart/thermion_dart.dart';
|
import 'package:thermion_dart/thermion_dart.dart';
|
||||||
import 'package:vector_math/vector_math_64.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<double> vector;
|
|
||||||
|
|
||||||
Vector3 asVector() => Vector3(vector[0], vector[1], vector[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
enum GizmoPickResultType { AxisX, AxisY, AxisZ, Parent, None }
|
enum GizmoPickResultType { AxisX, AxisY, AxisZ, Parent, None }
|
||||||
|
|
||||||
enum GizmoType { translation, rotation }
|
enum GizmoType { translation, rotation }
|
||||||
|
|||||||
Reference in New Issue
Block a user