revert CameraOrientationWidget

This commit is contained in:
Nick Fisher
2025-04-16 13:33:15 +08:00
parent fbbb4ed792
commit 8157f3318b

View File

@@ -1,98 +1,99 @@
// import 'dart:math'; import 'dart:math';
// import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// import 'package:thermion_flutter/thermion_flutter.dart'; import 'package:thermion_flutter/thermion_flutter.dart';
// import 'package:vector_math/vector_math_64.dart' as v64; import 'package:vector_math/vector_math_64.dart' as v64;
// class CameraOrientationWidget extends StatefulWidget { class CameraOrientationWidget extends StatefulWidget {
// final ThermionViewer viewer; final ThermionViewer viewer;
// const CameraOrientationWidget({Key? key, required this.viewer}) const CameraOrientationWidget({Key? key, required this.viewer})
// : super(key: key); : super(key: key);
// @override @override
// _CameraOrientationWidgetState createState() => _CameraOrientationWidgetState createState() =>
// _CameraOrientationWidgetState(); _CameraOrientationWidgetState();
// } }
// class _CameraOrientationWidgetState extends State<CameraOrientationWidget> class _CameraOrientationWidgetState extends State<CameraOrientationWidget>
// with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
// late AnimationController _controller; late AnimationController _controller;
// v64.Vector3? _position; v64.Vector3? _position;
// v64.Matrix3? _rotation; v64.Matrix3? _rotation;
// @override @override
// void initState() { void initState() {
// super.initState(); super.initState();
// _controller = AnimationController( _controller = AnimationController(
// vsync: this, vsync: this,
// duration: const Duration(milliseconds: 16), // ~60 FPS duration: const Duration(milliseconds: 16), // ~60 FPS
// )..repeat(); )..repeat();
// _controller.addListener(_updateCameraInfo); _controller.addListener(_updateCameraInfo);
// } }
// void _updateCameraInfo() async { void _updateCameraInfo() async {
// final camera = await widget.viewer.getActiveCamera(); final camera = await widget.viewer.getActiveCamera();
// final position = await widget.viewer.getCameraPosition(); final mm = await camera.getModelMatrix();
// final rotation = await widget.viewer.getCameraRotation(); final position = mm.getTranslation();
// setState(() { final rotation = mm.getRotation();
// _position = position; setState(() {
// _rotation = rotation; _position = position;
// }); _rotation = rotation;
// } });
}
// @override @override
// void dispose() { void dispose() {
// _controller.dispose(); _controller.dispose();
// super.dispose(); super.dispose();
// } }
// @override @override
// Widget build(BuildContext context) { Widget build(BuildContext context) {
// return Container( return Container(
// padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
// decoration: BoxDecoration( decoration: BoxDecoration(
// color: Colors.black.withOpacity(0.7), color: Colors.black.withOpacity(0.7),
// borderRadius: BorderRadius.circular(8.0), borderRadius: BorderRadius.circular(8.0),
// ), ),
// child: Column( child: Column(
// crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
// children: [ children: [
// Text( Text(
// 'Position: ${_formatVector(_position)}', 'Position: ${_formatVector(_position)}',
// style: const TextStyle(color: Colors.white), style: const TextStyle(color: Colors.white),
// ), ),
// const SizedBox(height: 4), const SizedBox(height: 4),
// Text( Text(
// 'Rotation: ${_formatMatrix(_rotation)}', 'Rotation: ${_formatMatrix(_rotation)}',
// style: const TextStyle(color: Colors.white), style: const TextStyle(color: Colors.white),
// ), ),
// ], ],
// ), ),
// ); );
// } }
// String _formatVector(v64.Vector3? vector) { String _formatVector(v64.Vector3? vector) {
// if (vector == null) return 'N/A'; if (vector == null) return 'N/A';
// return '(${vector.x.toStringAsFixed(2)}, ${vector.y.toStringAsFixed(2)}, ${vector.z.toStringAsFixed(2)})'; return '(${vector.x.toStringAsFixed(2)}, ${vector.y.toStringAsFixed(2)}, ${vector.z.toStringAsFixed(2)})';
// } }
// String _formatMatrix(v64.Matrix3? matrix) { String _formatMatrix(v64.Matrix3? matrix) {
// if (matrix == null) return 'N/A'; if (matrix == null) return 'N/A';
// return 'Yaw: ${_getYaw(matrix).toStringAsFixed(2)}°, Pitch: ${_getPitch(matrix).toStringAsFixed(2)}°, Roll: ${_getRoll(matrix).toStringAsFixed(2)}°'; return 'Yaw: ${_getYaw(matrix).toStringAsFixed(2)}°, Pitch: ${_getPitch(matrix).toStringAsFixed(2)}°, Roll: ${_getRoll(matrix).toStringAsFixed(2)}°';
// } }
// double _getYaw(v64.Matrix3 matrix) { double _getYaw(v64.Matrix3 matrix) {
// return -atan2(matrix[2], matrix[0]) * 180 / pi; return -atan2(matrix[2], matrix[0]) * 180 / pi;
// } }
// double _getPitch(v64.Matrix3 matrix) { double _getPitch(v64.Matrix3 matrix) {
// return -asin(matrix[5]) * 180 / pi; return -asin(matrix[5]) * 180 / pi;
// } }
// double _getRoll(v64.Matrix3 matrix) { double _getRoll(v64.Matrix3 matrix) {
// return atan2(matrix[3], matrix[4]) * 180 / pi; return atan2(matrix[3], matrix[4]) * 180 / pi;
// } }
// } }