commit 39e7405290956025df214fdb8763321f87a5b08a
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Mar 12 14:05:43 2020 +0000

    Progress with object Movement.

diff --git a/src/main/java/org/distorted/magic/RubikSurfaceView.java b/src/main/java/org/distorted/magic/RubikSurfaceView.java
index 1d8ebcfc..a03f49f5 100644
--- a/src/main/java/org/distorted/magic/RubikSurfaceView.java
+++ b/src/main/java/org/distorted/magic/RubikSurfaceView.java
@@ -267,7 +267,7 @@ public class RubikSurfaceView extends GLSurfaceView
                                            Static2D rot = mMovement.newRotation(rotatedTouchPoint2);
                                            RubikObject object = mRenderer.getObject();
 
-                                           object.beginNewRotation( (int)rot.get0(), (int)(object.getSize()*rot.get1()) );
+                                           object.beginNewRotation( (int)rot.get0(), object.returnRowFromOffset(rot.get1()) );
 
                                            if( RubikState.getCurrentState()==RubikState.SOLV )
                                              {
diff --git a/src/main/java/org/distorted/object/RubikCube.java b/src/main/java/org/distorted/object/RubikCube.java
index 1fd3f536..56d30e3f 100644
--- a/src/main/java/org/distorted/object/RubikCube.java
+++ b/src/main/java/org/distorted/object/RubikCube.java
@@ -211,4 +211,11 @@ class RubikCube extends RubikObject
     {
     return 4;
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public int returnRowFromOffset(float offset)
+    {
+    return (int)(getSize()*offset);
+    }
 }
diff --git a/src/main/java/org/distorted/object/RubikObject.java b/src/main/java/org/distorted/object/RubikObject.java
index 3cb00a28..28fd19b9 100644
--- a/src/main/java/org/distorted/object/RubikObject.java
+++ b/src/main/java/org/distorted/object/RubikObject.java
@@ -405,6 +405,8 @@ public abstract class RubikObject extends DistortedNode
       return;
       }
 
+    //android.util.Log.e("object", "beginning new rotation: axis: "+axis+" row: "+row);
+
     mRotAxis = axis;
     mRotRow  = row;
 
@@ -484,4 +486,5 @@ public abstract class RubikObject extends DistortedNode
   abstract MeshBase createCubitMesh(int cubit, int vertices);
   abstract Static3D[] getRotationAxis();
   public abstract int getBasicAngle();
+  public abstract int returnRowFromOffset(float offset);
   }
diff --git a/src/main/java/org/distorted/object/RubikObjectMovement.java b/src/main/java/org/distorted/object/RubikObjectMovement.java
index 4c510ca6..7be2cb09 100644
--- a/src/main/java/org/distorted/object/RubikObjectMovement.java
+++ b/src/main/java/org/distorted/object/RubikObjectMovement.java
@@ -278,8 +278,6 @@ public abstract class RubikObjectMovement
 
           if( isInsideFace(mPoint2D) )
             {
-            android.util.Log.e("move", "face "+getFaceColor(mLastTouchedAxis)+" ("+mPoint2D[0]+","+mPoint2D[1]+")");
-
             fillPossibleRotations(mLastTouchedAxis, mPossible);
             return true;
             }
@@ -308,8 +306,6 @@ public abstract class RubikObjectMovement
     int index = mLastTouchedAxis*mNumFacesPerAxis+mLastTouchedLR;
     float offset = computeOffset(mPoint2D, mCastAxis[index][mRotationVect]);
 
-android.util.Log.d("move", "new rot: face "+getFaceColor(mLastTouchedAxis)+" vect: "+mRotationVect+" offset: "+offset);
-
     return new Static2D(mRotationVect,offset);
     }
 
diff --git a/src/main/java/org/distorted/object/RubikPyraminx.java b/src/main/java/org/distorted/object/RubikPyraminx.java
index ba05af41..c5574602 100644
--- a/src/main/java/org/distorted/object/RubikPyraminx.java
+++ b/src/main/java/org/distorted/object/RubikPyraminx.java
@@ -303,4 +303,11 @@ public class RubikPyraminx extends RubikObject
     {
     return 3;
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public int returnRowFromOffset(float offset)
+    {
+    return (int)(getSize()*offset/(SQ3/2));
+    }
 }
