Revision deaf067b
Added by Leszek Koltunski 12 months ago
src/main/java/org/distorted/objectlib/json/JsonReader.java | ||
---|---|---|
47 | 47 |
private int mNumStickerTypes; |
48 | 48 |
private float[][] mCuts; |
49 | 49 |
private boolean[][] mLayerRotatable; |
50 |
private float[][] mRotationFactor; |
|
50 | 51 |
private int mMovementType, mMovementSplit; |
51 | 52 |
private int[][][] mEnabled; |
52 | 53 |
private float[] mDist3D; |
... | ... | |
397 | 398 |
mAxis = new Static3D[numAxis]; |
398 | 399 |
mCuts = new float[numAxis][]; |
399 | 400 |
mLayerRotatable = new boolean[numAxis][]; |
401 |
mRotationFactor = new float[numAxis][]; |
|
400 | 402 |
mNumLayers = new int[numAxis]; |
401 | 403 |
|
402 | 404 |
for(int i=0; i<numAxis; i++) |
... | ... | |
424 | 426 |
mLayerRotatable[i] = new boolean[numRota]; |
425 | 427 |
for(int j=0; j<numRota; j++) mLayerRotatable[i][j] = jsonRota.getBoolean(j); |
426 | 428 |
|
429 |
JSONArray jsonFactor = jsonAx.optJSONArray("factor"); |
|
430 |
|
|
431 |
if( jsonFactor!=null ) |
|
432 |
{ |
|
433 |
int numFactor = jsonFactor.length(); |
|
434 |
mRotationFactor[i] = new float[numFactor]; |
|
435 |
for(int j=0; j<numFactor; j++) mRotationFactor[i][j] = (float)jsonFactor.getDouble(j); |
|
436 |
} |
|
437 |
else |
|
438 |
{ |
|
439 |
mRotationFactor[i] = new float[numRota]; |
|
440 |
for(int j=0; j<numRota; j++) mRotationFactor[i][j] = 1.0f; |
|
441 |
} |
|
442 |
|
|
427 | 443 |
mNumLayers[i] = numRota; |
428 | 444 |
} |
429 | 445 |
} |
... | ... | |
978 | 994 |
return shapes.length>face ? shapes[face] : -1; |
979 | 995 |
} |
980 | 996 |
|
997 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
998 |
|
|
999 |
public float[][] returnRotationFactor() |
|
1000 |
{ |
|
1001 |
return mRotationFactor; |
|
1002 |
} |
|
1003 |
|
|
981 | 1004 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
982 | 1005 |
|
983 | 1006 |
public int[] getCubitTypes() |
src/main/java/org/distorted/objectlib/json/JsonWriter.java | ||
---|---|---|
453 | 453 |
int[] numLayers = object.getNumLayers(); |
454 | 454 |
float[][] cuts = object.getCuts(numLayers); |
455 | 455 |
boolean[][] rotatable = object.getLayerRotatable(numLayers); |
456 |
float[][] rotFactor = object.returnRotationFactor(); |
|
456 | 457 |
|
457 | 458 |
for( int i=0; i<numAxis; i++ ) |
458 | 459 |
{ |
... | ... | |
472 | 473 |
JSONArray rotaArray = new JSONArray(); |
473 | 474 |
for(boolean rot : rotatable[i]) rotaArray.put(rot); |
474 | 475 |
axObject.put("rotatable", rotaArray ); |
476 |
JSONArray factorArray = new JSONArray(); |
|
477 |
for(float rotf : rotFactor[i]) factorArray.put(rotf); |
|
478 |
axObject.put("factor", factorArray ); |
|
475 | 479 |
|
476 | 480 |
axis.put(axObject); |
477 | 481 |
} |
src/main/java/org/distorted/objectlib/main/TwistyJson.java | ||
---|---|---|
180 | 180 |
return mReader.getInternalColor(); |
181 | 181 |
} |
182 | 182 |
|
183 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
184 |
|
|
185 |
@Override |
|
186 |
public float[][] returnRotationFactor() |
|
187 |
{ |
|
188 |
return mReader.returnRotationFactor(); |
|
189 |
} |
|
190 |
|
|
183 | 191 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
184 | 192 |
|
185 | 193 |
public void setReader(JsonReader reader) |
Also available in: Unified diff
remember the rotation factors in the JSONs.