Revision 731280f7
Added by Leszek Koltunski over 1 year ago
src/main/java/org/distorted/objectlib/json/JsonReader.java | ||
---|---|---|
24 | 24 |
import org.distorted.objectlib.helpers.ObjectStickerOverride; |
25 | 25 |
import org.distorted.objectlib.helpers.ObjectVertexEffects; |
26 | 26 |
import org.distorted.objectlib.main.Cubit; |
27 |
import org.distorted.objectlib.main.TwistyObject; |
|
28 | 27 |
import org.distorted.objectlib.objects.TwistyBandagedCuboid; |
28 |
import org.distorted.objectlib.scrambling.ScrambleEdgeGenerator; |
|
29 | 29 |
import org.json.JSONArray; |
30 | 30 |
import org.json.JSONException; |
31 | 31 |
import org.json.JSONObject; |
... | ... | |
442 | 442 |
|
443 | 443 |
for(int alg=0; alg<numAlgs; alg++) |
444 | 444 |
{ |
445 |
int[] algorithm = mAlgorithms[alg];
|
|
446 |
if( algorithm.length>=3 && algorithm[0]==ax && algorithm[1]==layer && algorithm[2]==angle ) return alg;
|
|
445 |
int[] a = mAlgorithms[alg]; |
|
446 |
if( a.length>=3 && a[0]==ax && a[1]==layer && a[2]==angle ) return alg;
|
|
447 | 447 |
} |
448 | 448 |
|
449 | 449 |
return -1; |
... | ... | |
502 | 502 |
} |
503 | 503 |
} |
504 | 504 |
|
505 |
mAlgorithms = TwistyObject.staticGetAlgorithms(mBasicAngle);
|
|
505 |
mAlgorithms = ScrambleEdgeGenerator.getScramblingAlgorithms(mBasicAngle);
|
|
506 | 506 |
mEdges = new int[numStates][]; |
507 | 507 |
for(int i=0; i<numStates; i++) mEdges[i] = produceEdge(scramblingData[i]); |
508 | 508 |
} |
src/main/java/org/distorted/objectlib/main/TwistyObject.java | ||
---|---|---|
52 | 52 |
import org.distorted.objectlib.helpers.QuatGroupGenerator; |
53 | 53 |
import org.distorted.objectlib.scrambling.ObjectScrambler; |
54 | 54 |
import org.distorted.objectlib.json.JsonReader; |
55 |
import org.distorted.objectlib.scrambling.ScrambleEdgeGenerator; |
|
55 | 56 |
import org.distorted.objectlib.touchcontrol.*; |
56 | 57 |
|
57 | 58 |
import static org.distorted.objectlib.touchcontrol.TouchControl.*; |
... | ... | |
308 | 309 |
} |
309 | 310 |
} |
310 | 311 |
|
311 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
312 |
|
|
313 |
public static int[][] staticGetAlgorithms(int[][] basicAngles) |
|
314 |
{ |
|
315 |
int numAxis= basicAngles.length; |
|
316 |
int num=0; |
|
317 |
|
|
318 |
for (int[] basic : basicAngles) |
|
319 |
for (int i : basic) num += (i-1); |
|
320 |
|
|
321 |
int[][] ret = new int[num][3]; |
|
322 |
int index = 0; |
|
323 |
|
|
324 |
for(int i=0; i<numAxis; i++) |
|
325 |
{ |
|
326 |
int numLayers = basicAngles[i].length; |
|
327 |
|
|
328 |
for(int j=0; j<numLayers; j++) |
|
329 |
{ |
|
330 |
int N = basicAngles[i][j]; |
|
331 |
int NEG = (1-N)/2; |
|
332 |
int POS = N/2; |
|
333 |
|
|
334 |
for(int k=NEG; k<=-1; k++) |
|
335 |
{ |
|
336 |
ret[index][0] = i; |
|
337 |
ret[index][1] = j; |
|
338 |
ret[index][2] = k; |
|
339 |
index++; |
|
340 |
} |
|
341 |
|
|
342 |
for(int k=1; k<=POS; k++) |
|
343 |
{ |
|
344 |
ret[index][0] = i; |
|
345 |
ret[index][1] = j; |
|
346 |
ret[index][2] = k; |
|
347 |
index++; |
|
348 |
} |
|
349 |
} |
|
350 |
} |
|
351 |
|
|
352 |
return ret; |
|
353 |
} |
|
354 |
|
|
355 | 312 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
356 | 313 |
|
357 | 314 |
private void createQuaternionEffects() |
... | ... | |
630 | 587 |
|
631 | 588 |
public int[][] getScrambleAlgorithms() |
632 | 589 |
{ |
633 |
return staticGetAlgorithms(mBasicAngles);
|
|
590 |
return ScrambleEdgeGenerator.getScramblingAlgorithms(mBasicAngles);
|
|
634 | 591 |
} |
635 | 592 |
|
636 | 593 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/objectlib/scrambling/ScrambleEdgeGenerator.java | ||
---|---|---|
91 | 91 |
|
92 | 92 |
return new int[][] { edge }; |
93 | 93 |
} |
94 |
|
|
95 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
96 |
|
|
97 |
public static int[][] getScramblingAlgorithms(int[][] basicAngles) |
|
98 |
{ |
|
99 |
int numAxis= basicAngles.length; |
|
100 |
int num=0; |
|
101 |
|
|
102 |
for (int[] basic : basicAngles) |
|
103 |
for (int i : basic) num += (i-1); |
|
104 |
|
|
105 |
int[][] ret = new int[num][3]; |
|
106 |
int index = 0; |
|
107 |
|
|
108 |
for(int i=0; i<numAxis; i++) |
|
109 |
{ |
|
110 |
int numLayers = basicAngles[i].length; |
|
111 |
|
|
112 |
for(int j=0; j<numLayers; j++) |
|
113 |
{ |
|
114 |
int N = basicAngles[i][j]; |
|
115 |
int NEG = (1-N)/2; |
|
116 |
int POS = N/2; |
|
117 |
|
|
118 |
for(int k=NEG; k<=-1; k++) |
|
119 |
{ |
|
120 |
ret[index][0] = i; |
|
121 |
ret[index][1] = j; |
|
122 |
ret[index][2] = k; |
|
123 |
index++; |
|
124 |
} |
|
125 |
|
|
126 |
for(int k=1; k<=POS; k++) |
|
127 |
{ |
|
128 |
ret[index][0] = i; |
|
129 |
ret[index][1] = j; |
|
130 |
ret[index][2] = k; |
|
131 |
index++; |
|
132 |
} |
|
133 |
} |
|
134 |
} |
|
135 |
|
|
136 |
return ret; |
|
137 |
} |
|
94 | 138 |
} |
139 |
|
Also available in: Unified diff
Minor.