Revision 5a20f7a1
Added by Leszek Koltunski about 2 years ago
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
Progress with Circle 2x2.