commit 32b2e288ab21188b2a675c166811a1f6b240136b
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun Mar 12 17:56:34 2023 +0100

    Skeleton Cube2 tablebases class.

diff --git a/src/main/java/org/distorted/objectlib/tablebases/ImplementedTablebasesList.java b/src/main/java/org/distorted/objectlib/tablebases/ImplementedTablebasesList.java
index 292f4ec6..78fc4baf 100644
--- a/src/main/java/org/distorted/objectlib/tablebases/ImplementedTablebasesList.java
+++ b/src/main/java/org/distorted/objectlib/tablebases/ImplementedTablebasesList.java
@@ -25,6 +25,7 @@ public enum ImplementedTablebasesList
   CU_232        (ObjectSignatures.CU_232, TablebasesCuboid232.class),
   PYRA_3        (ObjectSignatures.PYRA_3, TablebasesPyraminx.class),
   DIAMOND       (ObjectSignatures.DIAM_2, TablebasesSkewbDiamond.class),
+  CUBE2         (ObjectSignatures.CUBE_2, TablebasesCube2.class),
   ;
 
   public static final int NUM_OBJECTS = values().length;
diff --git a/src/main/java/org/distorted/objectlib/tablebases/TablebasesCube2.java b/src/main/java/org/distorted/objectlib/tablebases/TablebasesCube2.java
new file mode 100644
index 00000000..806c2a83
--- /dev/null
+++ b/src/main/java/org/distorted/objectlib/tablebases/TablebasesCube2.java
@@ -0,0 +1,117 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Copyright 2023 Leszek Koltunski                                                               //
+//                                                                                               //
+// This file is part of Magic Cube.                                                              //
+//                                                                                               //
+// Magic Cube is proprietary software licensed under an EULA which you should have received      //
+// along with the code. If not, check https://distorted.org/magic/License-Magic-Cube.html        //
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+package org.distorted.objectlib.tablebases;
+
+import android.content.res.Resources;
+
+import org.distorted.library.type.Static3D;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+public class TablebasesCube2 extends TablebasesAbstract
+{
+  public TablebasesCube2()
+    {
+    super();
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public TablebasesCube2(Resources res)
+    {
+    super(res,org.distorted.objectlib.R.raw.cu_232_tablebase);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  int[][] getBasicAngles()
+    {
+    int[] tmp = {4,4};
+    return new int[][] { tmp,tmp,tmp };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  Static3D[] getRotationAxis()
+    {
+    return new Static3D[]
+         {
+           new Static3D(1,0,0),
+           new Static3D(0,1,0),
+           new Static3D(0,0,1)
+         };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  float[][] getPosition()
+    {
+    return new float[][]
+      {
+        { -0.5f, -0.5f, -0.5f },
+        { -0.5f, -0.5f,  0.5f },
+        { -0.5f,  0.5f, -0.5f },
+        { -0.5f,  0.5f,  0.5f },
+        {  0.5f, -0.5f, -0.5f },
+        {  0.5f, -0.5f,  0.5f },
+        {  0.5f,  0.5f, -0.5f },
+        {  0.5f,  0.5f,  0.5f },
+      };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  float[][] getCuts()
+    {
+    return new float[][] { {0.0f}, {0.0f}, {0.0f} };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  boolean[][] getRotatable()
+    {
+    return new boolean[][] { {false,true},{false,true},{true,false} };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// specifically for the tablebase
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// 7!*3^6 --> https://www.jaapsch.net/puzzles/cube2.htm
+
+  int getSize()
+    {
+    return 3674160;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+ int getMinScramble()
+    {
+    return 9;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public int[] getQuats(int index)
+    {
+    int[] quats = new int[8];
+
+    return quats;
+    }
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public int getIndex(int[] quats)
+    {
+    return 0;
+    }
+}  
+
