Project

General

Profile

« Previous | Next » 

Revision 5a20f7a1

Added by Leszek Koltunski about 2 years ago

Progress with Circle 2x2.

View differences:

src/main/java/org/distorted/objectlib/main/TwistyObject.java
154 154
  private float[][] mRowOffsets;
155 155
  private boolean[] mBelongs;
156 156
  private float[] mTmp;
157
  private int mNumPuzzleFaces;
157 158

  
158 159
  //////////////////// SOLVED1 ////////////////////////
159 160

  
......
198 199
    mObjectQuats = getQuats();
199 200
    mNumQuats = mObjectQuats.length;
200 201
    mOrigPos = getCubitPositions(mNumLayers);
201
    mRowOffsets = createInitRowOffsets();
202
    mNumPuzzleFaces = getNumFaces();
203
    mRowOffsets = new float[mNumPuzzleFaces][3];
202 204
    mTmp = new float[4];
203 205

  
204 206
    int numAxis = mAxis.length;
......
1149 1151
          if( mBelongs[j] ) mCubits[j].rotateCubit(quat);
1150 1152
          }
1151 1153

  
1154
        recomputeFaceOffsets();
1155

  
1152 1156
        for(int j=0; j<mNumCubits; j++)
1153 1157
          {
1154 1158
          if( mBelongs[j] )
......
1351 1355
      if( mBelongs[i] ) mCubits[i].rotateCubit(quat);
1352 1356
      }
1353 1357

  
1358
    recomputeFaceOffsets();
1359

  
1354 1360
    for(int i=0; i<mNumCubits; i++)
1355 1361
      {
1356 1362
      if( mBelongs[i] )
......
1366 1372
      }
1367 1373
    }
1368 1374

  
1375
///////////////////////////////////////////////////////////////////////////////////////////////////
1376

  
1377
  private void recomputeFaceOffsets()
1378
    {
1379
    for(int i=0; i<mNumPuzzleFaces; i++)
1380
      {
1381
      mRowOffsets[i][0] =0;
1382
      mRowOffsets[i][1] =0;
1383
      mRowOffsets[i][2] =0;
1384
      }
1385

  
1386
    for(int i=0; i<mNumCubits; i++)
1387
      if( mCubits[i].getType()==Cubit.TYPE_DECIDER )
1388
        {
1389
        float[] offset = mCubits[i].getOffset();
1390
        int face = mCubits[i].getPuzzleFace();
1391
        mRowOffsets[face][0] = offset[0];
1392
        mRowOffsets[face][1] = offset[1];
1393
        mRowOffsets[face][2] = offset[2];
1394
        }
1395
    }
1396

  
1369 1397
///////////////////////////////////////////////////////////////////////////////////////////////////
1370 1398

  
1371 1399
  long finishRotationNow(EffectListener listener, int nearestAngleInDegrees)
......
1929 1957
    return 0;
1930 1958
    }
1931 1959

  
1932
///////////////////////////////////////////////////////////////////////////////////////////////////
1933

  
1934
  public float[][] createInitRowOffsets()
1935
    {
1936
    return new float[getNumFaces()][3];
1937
    }
1938

  
1939 1960
///////////////////////////////////////////////////////////////////////////////////////////////////
1940 1961

  
1941 1962
  public TouchControl getTouchControl()

Also available in: Unified diff