add Axis class and rearrange utils dir
This commit is contained in:
44
thermion_dart/lib/src/utils/src/axis.dart
Normal file
44
thermion_dart/lib/src/utils/src/axis.dart
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import 'dart:typed_data';
|
||||||
|
|
||||||
|
import 'package:vector_math/vector_math_64.dart';
|
||||||
|
|
||||||
|
import '../../viewer/viewer.dart';
|
||||||
|
|
||||||
|
class Axis {
|
||||||
|
final ThermionViewer _viewer;
|
||||||
|
final ThermionEntity xAxis;
|
||||||
|
final ThermionEntity yAxis;
|
||||||
|
final ThermionEntity zAxis;
|
||||||
|
|
||||||
|
Axis._(this.xAxis, this.yAxis, this.zAxis, this._viewer);
|
||||||
|
|
||||||
|
static Future<Axis> create(ThermionViewer viewer) async {
|
||||||
|
final xAxis = await viewer!.createGeometry(
|
||||||
|
Geometry(Float32List.fromList([0, 0, 0, 10, 0, 0]), [0, 1],
|
||||||
|
primitiveType: PrimitiveType.LINES),
|
||||||
|
materialInstance: await viewer!.createUnlitMaterialInstance());
|
||||||
|
final yAxis = await viewer!.createGeometry(
|
||||||
|
Geometry(Float32List.fromList([0, 0, 0, 0, 10, 0]), [0, 1],
|
||||||
|
primitiveType: PrimitiveType.LINES),
|
||||||
|
materialInstance: await viewer!.createUnlitMaterialInstance());
|
||||||
|
final zAxis = await viewer!.createGeometry(
|
||||||
|
Geometry(Float32List.fromList([0, 0, 0, 0, 0, 10]), [0, 1],
|
||||||
|
primitiveType: PrimitiveType.LINES),
|
||||||
|
materialInstance: await viewer!.createUnlitMaterialInstance());
|
||||||
|
|
||||||
|
await viewer!.setMaterialPropertyFloat4(
|
||||||
|
xAxis, "baseColorFactor", 0, 1.0, 0.0, 0.0, 1.0);
|
||||||
|
await viewer!.setMaterialPropertyFloat4(
|
||||||
|
yAxis, "baseColorFactor", 0, 0.0, 1.0, 0.0, 1.0);
|
||||||
|
await viewer!.setMaterialPropertyFloat4(
|
||||||
|
zAxis, "baseColorFactor", 0, 0.0, 0.0, 1.0, 1.0);
|
||||||
|
return Axis._(xAxis, yAxis, zAxis, viewer);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future setTransform(Matrix4 transform) async {
|
||||||
|
await _viewer.setTransform(xAxis, transform);
|
||||||
|
await _viewer.setTransform(yAxis, transform);
|
||||||
|
await _viewer.setTransform(zAxis, transform);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:ffi/ffi.dart';
|
import 'package:ffi/ffi.dart';
|
||||||
|
|
||||||
import '../viewer/src/ffi/src/thermion_dart.g.dart';
|
import '../../viewer/src/ffi/src/thermion_dart.g.dart';
|
||||||
|
|
||||||
class DartResourceLoader {
|
class DartResourceLoader {
|
||||||
static final _assets = <int, Pointer>{};
|
static final _assets = <int, Pointer>{};
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import '../../thermion_dart.dart';
|
import '../../../thermion_dart.dart';
|
||||||
|
|
||||||
class GeometryHelper {
|
class GeometryHelper {
|
||||||
static Geometry sphere({bool normals = true, bool uvs = true}) {
|
static Geometry sphere({bool normals = true, bool uvs = true}) {
|
||||||
4
thermion_dart/lib/src/utils/utils.dart
Normal file
4
thermion_dart/lib/src/utils/utils.dart
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
library;
|
||||||
|
|
||||||
|
export 'src/geometry.dart';
|
||||||
|
export 'src/axis.dart';
|
||||||
@@ -2,7 +2,7 @@ import 'dart:ffi';
|
|||||||
|
|
||||||
import 'package:vector_math/vector_math_64.dart';
|
import 'package:vector_math/vector_math_64.dart';
|
||||||
|
|
||||||
import '../../../../utils/matrix.dart';
|
import '../../../../utils/src/matrix.dart';
|
||||||
import '../../thermion_viewer_base.dart';
|
import '../../thermion_viewer_base.dart';
|
||||||
import 'thermion_dart.g.dart' as g;
|
import 'thermion_dart.g.dart' as g;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import 'dart:ffi';
|
|||||||
|
|
||||||
import 'package:thermion_dart/src/viewer/src/ffi/src/thermion_dart.g.dart';
|
import 'package:thermion_dart/src/viewer/src/ffi/src/thermion_dart.g.dart';
|
||||||
|
|
||||||
import '../../../../utils/gizmo.dart';
|
import '../../../../utils/src/gizmo.dart';
|
||||||
import '../../../viewer.dart';
|
import '../../../viewer.dart';
|
||||||
|
|
||||||
class FFIGizmo extends BaseGizmo {
|
class FFIGizmo extends BaseGizmo {
|
||||||
|
|||||||
Reference in New Issue
Block a user