Revision 59c20632
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/objects/TwistySquare.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; |
... | ... | |
28 | 29 |
import org.distorted.library.mesh.MeshSquare; |
29 | 30 |
import org.distorted.library.type.Static3D; |
30 | 31 |
import org.distorted.library.type.Static4D; |
31 |
import org.distorted.objectlib.main.Movement; |
|
32 |
import org.distorted.objectlib.main.Movement6; |
|
33 | 32 |
import org.distorted.objectlib.main.Twisty6; |
34 | 33 |
|
35 | 34 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
51 | 50 |
new Static3D(0,-1,0), |
52 | 51 |
}; |
53 | 52 |
|
54 |
private static final int[][][] ENABLED = new int[][][] |
|
55 |
{ |
|
56 |
{{0}},{{0}},{{1}},{{1}},{{0,1}},{{0,1}} |
|
57 |
}; |
|
58 |
|
|
59 | 53 |
private int[] mBasicAngle; |
60 | 54 |
private float[][] mCuts; |
61 |
private boolean[][] mLayerRotatable; |
|
62 |
private Movement mMovement; |
|
63 | 55 |
Static4D[] mQuats; |
64 | 56 |
|
65 | 57 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
140 | 132 |
|
141 | 133 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
142 | 134 |
|
143 |
private void getLayerRotatable(int[] numLayers)
|
|
135 |
public boolean[][] getLayerRotatable(int[] numLayers)
|
|
144 | 136 |
{ |
145 |
if( mLayerRotatable==null ) |
|
146 |
{ |
|
147 |
mLayerRotatable = new boolean[][] { {true,false,true}, {true,true}, {true,false,true} }; |
|
148 |
} |
|
137 |
return new boolean[][] { {true,false,true}, {true,true}, {true,false,true} }; |
|
149 | 138 |
} |
150 | 139 |
|
151 | 140 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
152 |
// PUBLIC API |
|
153 | 141 |
|
154 |
public Static3D[] getRotationAxis()
|
|
142 |
public int getMovementType()
|
|
155 | 143 |
{ |
156 |
return ROT_AXIS;
|
|
144 |
return MOVEMENT_HEXAHEDRON;
|
|
157 | 145 |
} |
158 | 146 |
|
159 | 147 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
160 | 148 |
|
161 |
public Movement getMovement()
|
|
149 |
public int getMovementSplit()
|
|
162 | 150 |
{ |
163 |
if( mMovement==null ) |
|
164 |
{ |
|
165 |
int[] numLayers = getNumLayers(); |
|
166 |
if( mCuts==null ) getCuts(numLayers); |
|
167 |
getLayerRotatable(numLayers); |
|
168 |
mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED); |
|
169 |
} |
|
170 |
return mMovement; |
|
151 |
return TYPE_NOT_SPLIT; |
|
152 |
} |
|
153 |
|
|
154 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
155 |
|
|
156 |
public int[][][] getEnabled() |
|
157 |
{ |
|
158 |
return new int[][][] { {{0}},{{0}},{{1}},{{1}},{{0,1}},{{0,1}} }; |
|
159 |
} |
|
160 |
|
|
161 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
162 |
|
|
163 |
public float[] getDist3D(int[] numLayers) |
|
164 |
{ |
|
165 |
return null; |
|
166 |
} |
|
167 |
|
|
168 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
169 |
// PUBLIC API |
|
170 |
|
|
171 |
public Static3D[] getRotationAxis() |
|
172 |
{ |
|
173 |
return ROT_AXIS; |
|
171 | 174 |
} |
172 | 175 |
|
173 | 176 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Reorg for writing the JSON