From 89c1ad67bc65d24ceadfa9e95f8c5515283f1e97 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sun, 01 Jul 2018 15:45:28 -0400
Subject: [PATCH] Reverse matrix order.

---
 Mocap.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/Mocap.java b/Mocap.java
index fc96f41..93dd7ac 100644
--- a/Mocap.java
+++ b/Mocap.java
@@ -29,7 +29,7 @@
 
     void Fade()
     {
-        if (true) // currentbones == null || CameraPane.fullreset)
+        if (currentbones == null || CameraPane.fullreset)
             return;
         
         cVector temp = new cVector();
@@ -107,7 +107,7 @@
                         //data[f3 + i] += pos[i] - data[frame3 + i];
 //                                data[f3 + i] = k*data[f3+i] + (1-k)*
 //                                        currentbones[boneframe3 + i-end];
-                        data[f3 + i] = (float)CurveAngle(data[f3+i], currenthip[i], 1-k);
+//                        data[f3 + i] = (float)CurveAngle(data[f3+i], currenthip[i], 1-k);
                     }
                     
                     // TODO: translation
@@ -225,7 +225,7 @@
     // before resetting the mocap data.
     void SetGlobalTransform()
     {
-        SetCurrentBones(frame);
+        //SetCurrentBones(frame);
         
         cVector temp = new cVector();
         cVector pos = new cVector();
@@ -235,6 +235,12 @@
         double angleYhip = 0;
         
         Object3D hip = get(0);
+        
+        if (hip.get(0).toParent == null)
+        {
+            hip.get(0).toParent = LA.newMatrix();
+            hip.get(0).fromParent = LA.newMatrix();
+        }
         
         LA.matConcat(toParent, hip.get(0).toParent, matrix);
         poship.x = matrix[3][0];
@@ -3020,7 +3026,8 @@
         }
     }
     
-    static int offset = 1; // 5; // 10; // 5; // 100; // skip initial "T"
+    // skip initial "T"
+    static int offset = 1; // 5; // 10; // 5; // 100;
     
     void ReadBVH()
     {
@@ -3132,7 +3139,7 @@
         baseframe += step;
         
         //frame = baseframe;
-        frame += step;
+        //frame += step;
         
 //        if (frame != baseframe)
 //        {
@@ -3184,13 +3191,17 @@
                     }
                 }
             }
+            
+            frame = GetFirstFrame();
         }
+        else
+            frame += step;
         
  //SetPositionDelta(false);
             
-        if (frame >= bvh.animation.getNumFrames())
-            //baseframe =
-                    frame = GetFirstFrame(); // 0; // offset; // initial point
+//        if (frame >= bvh.animation.getNumFrames())
+//            //baseframe =
+//                    frame = GetFirstFrame(); // 0; // offset; // initial point
         
         //System.err.println("frame = " + frame);
         if (lastframe != 0)

--
Gitblit v1.6.2