diff --git a/gui/src/components/widgets/IMUVisualizerWidget.tsx b/gui/src/components/widgets/IMUVisualizerWidget.tsx index 6d28df6eb..2f40d3591 100644 --- a/gui/src/components/widgets/IMUVisualizerWidget.tsx +++ b/gui/src/components/widgets/IMUVisualizerWidget.tsx @@ -28,12 +28,20 @@ export function TrackerModel({ model }: { model: string }) { function SceneRenderer({ quat, vec, + mag, model, }: { quat: QuatObject; vec: Vector3Object; + mag: Vector3Object; model: string; }) { + const magDir = new Vector3(mag.x, mag.y, mag.z); + const magLen = magDir.length(); + const magMag = Math.sqrt(magLen / 100); // normalize magnituge + if (magLen > 0) + magDir.multiplyScalar(1/ magLen); + return ( + @@ -102,6 +118,9 @@ export function IMUVisualizerWidget({ tracker }: { tracker: TrackerDataT }) { tracker?.linearAcceleration || tracker?.rawAcceleration || new THREE.Vector3(); + const mag = + tracker?.rawMagneticVector || + new THREE.Vector3(); return (
@@ -143,6 +162,17 @@ export function IMUVisualizerWidget({ tracker }: { tracker: TrackerDataT }) {
)} + {tracker.rawMagneticVector && ( +
+ + {l10n.getString('tracker-infos-magnetometer')} + + + {formatVector3(tracker.rawMagneticVector, 1)} + +
+ )} + {!enabled && (