Project

General

Profile

« Previous | Next » 

Revision 59c20632

Added by Leszek Koltunski over 2 years ago

Reorg for writing the JSON

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyJing.java
19 19

  
20 20
package org.distorted.objectlib.objects;
21 21

  
22
import static org.distorted.objectlib.main.Movement.MOVEMENT_TETRAHEDRON;
22 23
import static org.distorted.objectlib.main.Movement.TYPE_NOT_SPLIT;
23 24

  
24 25
import android.content.res.Resources;
......
30 31
import org.distorted.library.type.Static4D;
31 32

  
32 33
import org.distorted.objectlib.R;
33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement4;
35 35
import org.distorted.objectlib.main.ObjectControl;
36 36
import org.distorted.objectlib.main.ObjectType;
......
51 51
           new Static3D(-SQ6/3,+SQ3/3,     0),
52 52
         };
53 53

  
54
  private static final int[][][] ENABLED = new int[][][]
55
      {
56
          {{1,2,3}},{{0,2,3}},{{0,1,3}},{{0,1,2}}
57
      };
58

  
59 54
  static final float F = 0.48f;  // length of the edge of the corner cubit. Keep<0.5
60 55
                                 // Assuming the length of the edge of the whole
61 56
                                 // tetrahedron is 2.0 (ie standard, equal to numLayers
......
65 60
  private int[] mRotQuat;
66 61
  private Static4D[] mQuats;
67 62
  private float[][] mCuts;
68
  private boolean[][] mLayerRotatable;
69 63
  private float[][] mCenters;
70 64
  private int[][] mFaceMap;
71 65
  private ObjectSticker[] mStickers;
72
  private Movement mMovement;
73 66

  
74 67
///////////////////////////////////////////////////////////////////////////////////////////////////
75 68

  
......
173 166

  
174 167
///////////////////////////////////////////////////////////////////////////////////////////////////
175 168

  
176
  protected int getSolvedFunctionIndex()
169
  public int getSolvedFunctionIndex()
177 170
    {
178 171
    return 0;
179 172
    }
......
200 193

  
201 194
///////////////////////////////////////////////////////////////////////////////////////////////////
202 195

  
203
  private void getLayerRotatable(int[] numLayers)
196
  public boolean[][] getLayerRotatable(int[] numLayers)
204 197
    {
205
    if( mLayerRotatable==null )
206
      {
207
      int numAxis = ROT_AXIS.length;
208
      mLayerRotatable = new boolean[numAxis][];
198
    int numAxis = ROT_AXIS.length;
199
    boolean[][] layerRotatable = new boolean[numAxis][];
209 200

  
210
      for(int i=0; i<numAxis; i++)
211
        {
212
        mLayerRotatable[i] = new boolean[numLayers[i]];
213
        for(int j=0; j<numLayers[i]; j++) mLayerRotatable[i][j] = true;
214
        }
201
    for(int i=0; i<numAxis; i++)
202
      {
203
      layerRotatable[i] = new boolean[numLayers[i]];
204
      for(int j=0; j<numLayers[i]; j++) layerRotatable[i][j] = true;
215 205
      }
206

  
207
    return layerRotatable;
208
    }
209

  
210
///////////////////////////////////////////////////////////////////////////////////////////////////
211

  
212
  public int getMovementType()
213
    {
214
    return MOVEMENT_TETRAHEDRON;
215
    }
216

  
217
///////////////////////////////////////////////////////////////////////////////////////////////////
218

  
219
  public int getMovementSplit()
220
    {
221
    return TYPE_NOT_SPLIT;
222
    }
223

  
224
///////////////////////////////////////////////////////////////////////////////////////////////////
225

  
226
  public int[][][] getEnabled()
227
    {
228
    return new int[][][]
229
      {
230
          {{1,2,3}},{{0,2,3}},{{0,1,3}},{{0,1,2}}
231
      };
232
    }
233

  
234
///////////////////////////////////////////////////////////////////////////////////////////////////
235

  
236
  public float[] getDist3D(int[] numLayers)
237
    {
238
    return null;
216 239
    }
217 240

  
218 241
///////////////////////////////////////////////////////////////////////////////////////////////////
......
431 454
    return ROT_AXIS;
432 455
    }
433 456

  
434
///////////////////////////////////////////////////////////////////////////////////////////////////
435

  
436
  public Movement getMovement()
437
    {
438
    if( mMovement==null )
439
      {
440
      int[] numLayers = getNumLayers();
441
      if( mCuts==null ) getCuts(numLayers);
442
      getLayerRotatable(numLayers);
443
      mMovement = new Movement4(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED);
444
      }
445
    return mMovement;
446
    }
447

  
448 457
///////////////////////////////////////////////////////////////////////////////////////////////////
449 458

  
450 459
  public int[] getBasicAngle()
......
474 483
    return R.string.jing_inventor;
475 484
    }
476 485

  
486
///////////////////////////////////////////////////////////////////////////////////////////////////
487

  
488
  public int getYearOfInvention(int[] numLayers)
489
    {
490
    return 1991;
491
    }
492

  
477 493
///////////////////////////////////////////////////////////////////////////////////////////////////
478 494

  
479 495
  public int getComplexity(int[] numLayers)

Also available in: Unified diff