Revision 59c20632
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.distorted.objectlib.objects; |
21 | 21 |
|
22 |
import static org.distorted.objectlib.main.Movement.MOVEMENT_HEXAHEDRON; |
|
22 | 23 |
import static org.distorted.objectlib.main.Movement.TYPE_NOT_SPLIT; |
23 | 24 |
|
24 | 25 |
import android.content.res.Resources; |
... | ... | |
29 | 30 |
import org.distorted.library.type.Static3D; |
30 | 31 |
import org.distorted.library.type.Static4D; |
31 | 32 |
|
32 |
import org.distorted.objectlib.main.Movement; |
|
33 | 33 |
import org.distorted.objectlib.main.Movement6; |
34 | 34 |
import org.distorted.objectlib.helpers.ObjectShape; |
35 | 35 |
import org.distorted.objectlib.helpers.ObjectSticker; |
... | ... | |
58 | 58 |
{2,2,2} |
59 | 59 |
}; |
60 | 60 |
|
61 |
private static final int[][][] ENABLED = new int[][][] |
|
62 |
{ |
|
63 |
{{1,2}},{{1,2}},{{0,2}},{{0,2}},{{0,1}},{{0,1}}, |
|
64 |
}; |
|
65 |
|
|
66 | 61 |
private static final int NUM_STICKERS = 4; |
67 | 62 |
|
68 | 63 |
private int[] mBasicAngle; |
... | ... | |
72 | 67 |
private int[][] mAxisMap; |
73 | 68 |
private int[][] mFaceMap; |
74 | 69 |
private float[][] mCuts; |
75 |
private boolean[][] mLayerRotatable; |
|
76 |
private Movement mMovement; |
|
77 | 70 |
ScrambleState[] mStates; |
78 | 71 |
float[][] POSITIONS; |
79 | 72 |
int[] QUAT_INDICES; |
... | ... | |
355 | 348 |
|
356 | 349 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
357 | 350 |
|
358 |
private void getLayerRotatable(int[] numLayers)
|
|
351 |
public boolean[][] getLayerRotatable(int[] numLayers)
|
|
359 | 352 |
{ |
360 |
if( mLayerRotatable==null ) |
|
361 |
{ |
|
362 |
int numAxis = ROT_AXIS.length; |
|
363 |
mLayerRotatable = new boolean[numAxis][]; |
|
353 |
int numAxis = ROT_AXIS.length; |
|
354 |
boolean[][] layerRotatable = new boolean[numAxis][]; |
|
364 | 355 |
|
365 |
for(int i=0; i<numAxis; i++) |
|
366 |
{ |
|
367 |
mLayerRotatable[i] = new boolean[numLayers[i]]; |
|
368 |
for(int j=0; j<numLayers[i]; j++) mLayerRotatable[i][j] = true; |
|
369 |
} |
|
356 |
for(int i=0; i<numAxis; i++) |
|
357 |
{ |
|
358 |
layerRotatable[i] = new boolean[numLayers[i]]; |
|
359 |
for(int j=0; j<numLayers[i]; j++) layerRotatable[i][j] = true; |
|
370 | 360 |
} |
361 |
|
|
362 |
return layerRotatable; |
|
363 |
} |
|
364 |
|
|
365 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
366 |
|
|
367 |
public int getMovementType() |
|
368 |
{ |
|
369 |
return MOVEMENT_HEXAHEDRON; |
|
370 |
} |
|
371 |
|
|
372 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
373 |
|
|
374 |
public int getMovementSplit() |
|
375 |
{ |
|
376 |
return TYPE_NOT_SPLIT; |
|
371 | 377 |
} |
372 | 378 |
|
373 | 379 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
374 | 380 |
|
375 |
protected int getSolvedFunctionIndex() |
|
381 |
public int[][][] getEnabled() |
|
382 |
{ |
|
383 |
return new int[][][] |
|
384 |
{ |
|
385 |
{{1,2}},{{1,2}},{{0,2}},{{0,2}},{{0,1}},{{0,1}}, |
|
386 |
}; |
|
387 |
} |
|
388 |
|
|
389 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
390 |
|
|
391 |
public float[] getDist3D(int[] numLayers) |
|
392 |
{ |
|
393 |
return null; |
|
394 |
} |
|
395 |
|
|
396 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
397 |
|
|
398 |
public int getSolvedFunctionIndex() |
|
376 | 399 |
{ |
377 | 400 |
return 0; |
378 | 401 |
} |
... | ... | |
471 | 494 |
return ROT_AXIS; |
472 | 495 |
} |
473 | 496 |
|
474 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
475 |
|
|
476 |
public Movement getMovement() |
|
477 |
{ |
|
478 |
if( mMovement==null ) |
|
479 |
{ |
|
480 |
int[] numLayers = getNumLayers(); |
|
481 |
if( mCuts==null ) getCuts(numLayers); |
|
482 |
getLayerRotatable(numLayers); |
|
483 |
mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED); |
|
484 |
} |
|
485 |
return mMovement; |
|
486 |
} |
|
487 |
|
|
488 | 497 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
489 | 498 |
|
490 | 499 |
public int[] getBasicAngle() |
Also available in: Unified diff
Reorg for writing the JSON