commit b7e5a0ac683173b2f04276af8756d378182703e5
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri May 7 17:03:13 2021 +0200

    Progress with RubikControl.

diff --git a/src/main/java/org/distorted/control/RubikControl.java b/src/main/java/org/distorted/control/RubikControl.java
index 07ee4692..9206f4b4 100644
--- a/src/main/java/org/distorted/control/RubikControl.java
+++ b/src/main/java/org/distorted/control/RubikControl.java
@@ -139,8 +139,16 @@ public class RubikControl implements EffectListener
 
   public void effectFinished(long effectID)
     {
-    if( effectID==mWhole.getEffectID()  ) finishWhole();
-    if( effectID==mRotate.getEffectID() ) finishRotate();
+    if( effectID==mWhole.getEffectID()  )
+      {
+      android.util.Log.e("D", "whole finished");
+      finishWhole();
+      }
+    if( effectID==mRotate.getEffectID() )
+      {
+      android.util.Log.e("D", "rotate finished");
+      finishRotate();
+      }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/control/RubikControlWhole.java b/src/main/java/org/distorted/control/RubikControlWhole.java
index fdd07117..5bfd823d 100644
--- a/src/main/java/org/distorted/control/RubikControlWhole.java
+++ b/src/main/java/org/distorted/control/RubikControlWhole.java
@@ -22,6 +22,7 @@ package org.distorted.control;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 
+import org.distorted.library.effect.MatrixEffectMove;
 import org.distorted.library.effect.MatrixEffectScale;
 import org.distorted.library.main.DistortedEffects;
 import org.distorted.library.main.DistortedNode;
@@ -49,7 +50,7 @@ class RubikControlWhole
   private long mEffectID;
 
   private Dynamic3D mDynamic;
-  private MatrixEffectScale mScale;
+  private MatrixEffectMove mMove;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -77,26 +78,33 @@ class RubikControlWhole
       mEffects[0]= new DistortedEffects();
       mEffects[1]= new DistortedEffects();
 
-      float scaleCirc = 150;
-      float scaleHand = 300;
+      float x1 = 200;
+      float y1 = 300;
+      float z  = 0;
 
-      Static3D scale0 = new Static3D(scaleCirc,scaleCirc,scaleCirc);
-      Static3D scale1 = new Static3D(scaleHand,scaleHand,scaleHand);
+      Static3D point0 = new Static3D(-x1,-y1,z);
+      Static3D point1 = new Static3D(+x1,-y1,z);
+      Static3D point2 = new Static3D(+x1,+y1,z);
 
       mDynamic = new Dynamic3D(10000,0.5f);
-      mDynamic.add(scale0);
+      mDynamic.add(point0);
+      mDynamic.add(point1);
+      mDynamic.add(point2);
       mDynamic.setMode(Dynamic.MODE_PATH);
 
-      mScale = new MatrixEffectScale(mDynamic);
-      mScale.notifyWhenFinished(mControl);
-      mEffectID = mScale.getID();
-      mEffects[0].apply(mScale);
-      mEffects[1].apply( new MatrixEffectScale(scale1));
+      mMove = new MatrixEffectMove(mDynamic);
+      mMove.notifyWhenFinished(mControl);
+      mEffectID = mMove.getID();
+
+      mEffects[0].apply( new MatrixEffectScale(150));
+      mEffects[0].apply(mMove);
+      mEffects[1].apply( new MatrixEffectScale(300));
+      mEffects[1].apply(mMove);
       }
     else
       {
       mDynamic.resetToBeginning();
-      mScale.notifyWhenFinished(mControl);
+      mMove.notifyWhenFinished(mControl);
       }
     }
 
