Revision 6612cbb4
Added by Leszek Koltunski 11 months ago
src/main/java/org/distorted/objectlib/objects/TwistyBandagedPyraminx.java | ||
---|---|---|
31 | 31 |
|
32 | 32 |
public class TwistyBandagedPyraminx extends ShapeTetrahedron |
33 | 33 |
{ |
34 |
public static final String OBJECT_NAME = "LOCAL_PYRAMINX"; |
|
34 |
public static final String OBJECT_NAME_PYRAMINX = "LOCAL_PYRAMINX";
|
|
35 | 35 |
|
36 | 36 |
private static final Static3D[] ROT_AXIS = new Static3D[] |
37 | 37 |
{ |
... | ... | |
66 | 66 |
|
67 | 67 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
68 | 68 |
|
69 |
private boolean isTetCubitFaceOnPuzzleFace(float[] pos, int numLayers, int face) |
|
70 |
{ |
|
71 |
Static3D ax= TouchControlTetrahedron.FACE_AXIS[face]; |
|
72 |
float dist = pos[0]*ax.get0() + pos[1]*ax.get1() + pos[2]*ax.get2(); |
|
73 |
return (dist > (numLayers-1)*SQ6/12 - 0.001f); |
|
74 |
} |
|
75 |
|
|
76 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
77 |
|
|
78 |
private int getType(float[] pos) |
|
69 |
private int getType(float[] pos, int numLayers) |
|
79 | 70 |
{ |
80 | 71 |
if( pos.length>3 ) return OTHER; |
81 |
int[] numLayers = getNumLayers(); |
|
82 |
int variant = FactoryBandagedPyraminx.getElementVariant(numLayers[0],pos[1]); |
|
72 |
int variant = FactoryBandagedPyraminx.getElementVariant(numLayers,pos[1]); |
|
83 | 73 |
return variant==0 ? OCT_1 : TET_1; |
84 | 74 |
} |
85 | 75 |
|
86 |
|
|
87 | 76 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
88 | 77 |
|
89 | 78 |
private int getType(int variant) |
... | ... | |
266 | 255 |
|
267 | 256 |
for (int cubit=0; cubit<numCubits; cubit++) |
268 | 257 |
{ |
269 |
int type = getType(positions[cubit]); |
|
258 |
int type = getType(positions[cubit],numLayers[0]);
|
|
270 | 259 |
|
271 | 260 |
switch (type) |
272 | 261 |
{ |
... | ... | |
425 | 414 |
} |
426 | 415 |
|
427 | 416 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
428 |
// TODO |
|
429 | 417 |
|
430 | 418 |
public ObjectSignature getSignature() |
431 | 419 |
{ |
432 | 420 |
if( mSignature==null ) |
433 | 421 |
{ |
434 | 422 |
int[] numLayers = getNumLayers(); |
435 |
mSignature = new ObjectSignature(numLayers[0],numLayers[1],numLayers[2],mPosition);
|
|
423 |
mSignature = new ObjectSignature(numLayers[0],mPosition); |
|
436 | 424 |
} |
437 | 425 |
return mSignature; |
438 | 426 |
} |
... | ... | |
441 | 429 |
|
442 | 430 |
public String getObjectName() |
443 | 431 |
{ |
444 |
return OBJECT_NAME; |
|
432 |
return OBJECT_NAME_PYRAMINX;
|
|
445 | 433 |
} |
446 | 434 |
|
447 | 435 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Progress with scrambling a bandaged pyraminx.