commit ba4221884675518a37df5f735c29130ccf64caf2
Author: leszek <leszek@koltunski.pl>
Date:   Thu Jan 16 01:16:50 2025 +0100

    progress with generic ghostAxis switching.

diff --git a/src/main/java/org/distorted/library/helpers/QuatHelper.java b/src/main/java/org/distorted/library/helpers/QuatHelper.java
index 30f6a0d..10db43a 100644
--- a/src/main/java/org/distorted/library/helpers/QuatHelper.java
+++ b/src/main/java/org/distorted/library/helpers/QuatHelper.java
@@ -49,6 +49,27 @@ public class QuatHelper
     return new Static4D(tx,ty,tz,tw);
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// return quat1*quat2
+
+  public static void quatMultiply( float[] ret, Static4D quat1, Static4D quat2 )
+    {
+    float qx = quat1.get0();
+    float qy = quat1.get1();
+    float qz = quat1.get2();
+    float qw = quat1.get3();
+
+    float rx = quat2.get0();
+    float ry = quat2.get1();
+    float rz = quat2.get2();
+    float rw = quat2.get3();
+
+    ret[0] = rw*qx - rz*qy + ry*qz + rx*qw;
+    ret[1] = rw*qy + rz*qx + ry*qw - rx*qz;
+    ret[2] = rw*qz + rz*qw - ry*qx + rx*qy;
+    ret[3] = rw*qw - rz*qz - ry*qy - rx*qx;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // return quat1*quat2
 
