Revision 1ded8771
Added by Leszek Koltunski over 3 years ago
src/main/java/org/distorted/objects/Movement.java | ||
---|---|---|
45 | 45 |
|
46 | 46 |
abstract boolean isInsideFace(int face, float[] point); |
47 | 47 |
abstract void computeEnabledAxis(int face, float[] touchPoint, int[] enabledAxis); |
48 |
abstract int computeRowFromOffset(int face, int size, float offset);
|
|
49 |
public abstract float returnRotationFactor(int size, int row);
|
|
48 |
abstract int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset);
|
|
49 |
public abstract float returnRotationFactor(int numLayers, int row);
|
|
50 | 50 |
|
51 | 51 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
52 | 52 |
|
... | ... | |
277 | 277 |
|
278 | 278 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
279 | 279 |
|
280 |
public Static2D newRotation(int size, Static4D rotatedTouchPoint)
|
|
280 |
public Static2D newRotation(int numLayers, Static4D rotatedTouchPoint)
|
|
281 | 281 |
{ |
282 | 282 |
float objectRatio = TwistyObject.getObjectRatio(); |
283 | 283 |
|
... | ... | |
294 | 294 |
computeEnabledAxis(mLastTouchedFace, mPoint2D, mEnabledRotAxis); |
295 | 295 |
int rotIndex = computeRotationIndex(mLastTouchedFace, mMove2D, mEnabledRotAxis); |
296 | 296 |
float offset = computeOffset(mPoint2D, mCastedRotAxis[mLastTouchedFace][rotIndex]); |
297 |
int row = computeRowFromOffset(mLastTouchedFace,size,offset);
|
|
297 |
int row = computeRowFromOffset(mLastTouchedFace,rotIndex,numLayers,offset);
|
|
298 | 298 |
|
299 | 299 |
return new Static2D(rotIndex,row); |
300 | 300 |
} |
src/main/java/org/distorted/objects/MovementCube.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 |
return (int)(size*offset);
|
|
49 |
return (int)(numLayers*offset);
|
|
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementDiamond.java | ||
---|---|---|
49 | 49 |
// midpoint at SQ3/12) or one of the other face when the cast rotAxis are the wrong way round (and |
50 | 50 |
// the triangle spans then from 0 to SQ3/2 with midpoint at SQ3/4). |
51 | 51 |
|
52 |
int computeRowFromOffset(int face, int size, float offset)
|
|
52 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
53 | 53 |
{ |
54 | 54 |
float off = ( face==1 || face==3 || face==4 || face==6 ) ? offset/SQ3 + 1.0f/6 : offset/SQ3; |
55 |
return (int)(2*size*off);
|
|
55 |
return (int)(2*numLayers*off);
|
|
56 | 56 |
} |
57 | 57 |
|
58 | 58 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
59 | 59 |
|
60 |
public float returnRotationFactor(int size, int row)
|
|
60 |
public float returnRotationFactor(int numLayers, int row)
|
|
61 | 61 |
{ |
62 | 62 |
return 1.0f; |
63 | 63 |
} |
src/main/java/org/distorted/objects/MovementDino.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 | 49 |
return offset<DIST2D ? 0:2; |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementHelicopter.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 | 49 |
return offset<DIST2D ? 0:2; |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementIvy.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 | 49 |
return offset<DIST2D ? 0:1; |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementMinx.java | ||
---|---|---|
58 | 58 |
|
59 | 59 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
60 | 60 |
|
61 |
int computeRowFromOffset(int face, int size, float offset)
|
|
61 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
62 | 62 |
{ |
63 |
if( size==3 )
|
|
63 |
if( numLayers==3 )
|
|
64 | 64 |
{ |
65 | 65 |
return offset<DIST2D ? 0:2; |
66 | 66 |
} |
67 |
if( size==5 )
|
|
67 |
if( numLayers==5 )
|
|
68 | 68 |
{ |
69 | 69 |
float quot = offset / DIST2D; |
70 | 70 |
|
... | ... | |
79 | 79 |
|
80 | 80 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
81 | 81 |
|
82 |
public float returnRotationFactor(int size, int row)
|
|
82 |
public float returnRotationFactor(int numLayers, int row)
|
|
83 | 83 |
{ |
84 | 84 |
return 1.0f; |
85 | 85 |
} |
src/main/java/org/distorted/objects/MovementPyraminx.java | ||
---|---|---|
45 | 45 |
|
46 | 46 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
47 | 47 |
|
48 |
int computeRowFromOffset(int face, int size, float offset)
|
|
48 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
49 | 49 |
{ |
50 |
return (int)(size*offset/(SQ6/3));
|
|
50 |
return (int)(numLayers*offset/(SQ6/3));
|
|
51 | 51 |
} |
52 | 52 |
|
53 | 53 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
54 | 54 |
|
55 |
public float returnRotationFactor(int size, int row)
|
|
55 |
public float returnRotationFactor(int numLayers, int row)
|
|
56 | 56 |
{ |
57 |
return ((float)size)/(size-row);
|
|
57 |
return ((float)numLayers)/(numLayers-row);
|
|
58 | 58 |
} |
59 | 59 |
|
60 | 60 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/objects/MovementRedi.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 | 49 |
return offset<DIST2D ? 0:2; |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementRex.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 | 49 |
return offset<DIST2D ? 0:2; |
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementSkewb.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 |
return offset<DIST2D ? 0:size-1;
|
|
49 |
return offset<DIST2D ? 0:numLayers-1;
|
|
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 53 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
54 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 55 |
{ |
56 | 56 |
return 1.0f; |
57 | 57 |
} |
src/main/java/org/distorted/objects/MovementSquare.java | ||
---|---|---|
44 | 44 |
|
45 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
46 | 46 |
|
47 |
int computeRowFromOffset(int face, int size, float offset)
|
|
47 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
48 | 48 |
{ |
49 |
return (int)(size*offset); |
|
49 |
//android.util.Log.e("D", "face="+face+" size="+numLayers+" offset="+offset); |
|
50 |
|
|
51 |
return offset>DIST2D? 2-axisIndex : 0; |
|
50 | 52 |
} |
51 | 53 |
|
52 | 54 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 55 |
|
54 |
public float returnRotationFactor(int size, int row)
|
|
56 |
public float returnRotationFactor(int numLayers, int row)
|
|
55 | 57 |
{ |
56 | 58 |
return 1.0f; |
57 | 59 |
} |
src/main/java/org/distorted/objects/MovementUltimate.java | ||
---|---|---|
59 | 59 |
|
60 | 60 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
61 | 61 |
|
62 |
int computeRowFromOffset(int face, int size, float offset)
|
|
62 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
|
|
63 | 63 |
{ |
64 | 64 |
return offset<DIST2D ? 0:1; |
65 | 65 |
} |
66 | 66 |
|
67 | 67 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
68 | 68 |
|
69 |
public float returnRotationFactor(int size, int row)
|
|
69 |
public float returnRotationFactor(int numLayers, int row)
|
|
70 | 70 |
{ |
71 | 71 |
return 1.0f; |
72 | 72 |
} |
src/main/java/org/distorted/objects/ObjectList.java | ||
---|---|---|
215 | 215 |
|
216 | 216 |
SQU1 ( |
217 | 217 |
new int[][] { |
218 |
{2 , 18, 0, R.drawable.ui_small_diam2, R.drawable.ui_medium_diam2, R.drawable.ui_big_diam2, R.drawable.ui_huge_diam2} ,
|
|
218 |
{3 , 18, 0, R.drawable.ui_small_diam2, R.drawable.ui_medium_diam2, R.drawable.ui_big_diam2, R.drawable.ui_huge_diam2} ,
|
|
219 | 219 |
}, |
220 | 220 |
TwistySquare1.class, |
221 | 221 |
new MovementSquare(), |
src/main/java/org/distorted/objects/TwistySquare1.java | ||
---|---|---|
365 | 365 |
|
366 | 366 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
367 | 367 |
|
368 |
float[][] getCubitPositions(int size)
|
|
368 |
float[][] getCubitPositions(int numLayers)
|
|
369 | 369 |
{ |
370 | 370 |
return CENTERS; |
371 | 371 |
} |
... | ... | |
409 | 409 |
|
410 | 410 |
float getScreenRatio() |
411 | 411 |
{ |
412 |
return 0.36f;
|
|
412 |
return 0.5f;
|
|
413 | 413 |
} |
414 | 414 |
|
415 | 415 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
416 | 416 |
|
417 |
int getFaceColor(int cubit, int cubitface, int size)
|
|
417 |
int getFaceColor(int cubit, int cubitface, int numLayers)
|
|
418 | 418 |
{ |
419 | 419 |
int type; |
420 | 420 |
|
Also available in: Unified diff
Square-1: progress with movement.