Revision 8cccfb10
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/objects/RubikObject.java | ||
---|---|---|
47 | 47 |
|
48 | 48 |
public abstract class RubikObject extends DistortedNode |
49 | 49 |
{ |
50 |
private static final Static3D VERTEX_CENTER = new Static3D(0,0,0);
|
|
50 |
private static final Static3D CENTER = new Static3D(0,0,0); |
|
51 | 51 |
static final int INTERIOR_COLOR = 0xff000000; |
52 | 52 |
public static final int NODE_FBO_SIZE = 600; |
53 | 53 |
private static final int POST_ROTATION_MILLISEC = 500; |
... | ... | |
108 | 108 |
|
109 | 109 |
mRotationAngle= new Dynamic1D(); |
110 | 110 |
mRotationAxis = new Static3D(1,0,0); |
111 |
mRotateEffect = new VertexEffectRotate(mRotationAngle, mRotationAxis, VERTEX_CENTER);
|
|
111 |
mRotateEffect = new VertexEffectRotate(mRotationAngle, mRotationAxis, CENTER); |
|
112 | 112 |
|
113 | 113 |
mRotationAngleStatic = new Static1D(0); |
114 | 114 |
mRotationAngleMiddle = new Static1D(0); |
115 | 115 |
mRotationAngleFinal = new Static1D(0); |
116 | 116 |
|
117 |
Static3D center = new Static3D(0,0,0); |
|
118 | 117 |
float scale = OBJECT_SCREEN_RATIO*NODE_FBO_SIZE/mSize; |
119 | 118 |
mScaleEffect = new MatrixEffectScale(new Static3D(scale,scale,scale)); |
120 |
mQuatCEffect = new MatrixEffectQuaternion(quatCur, center);
|
|
121 |
mQuatAEffect = new MatrixEffectQuaternion(quatAcc, center);
|
|
119 |
mQuatCEffect = new MatrixEffectQuaternion(quatCur, CENTER);
|
|
120 |
mQuatAEffect = new MatrixEffectQuaternion(quatAcc, CENTER);
|
|
122 | 121 |
|
123 | 122 |
MatrixEffectScale nodeScaleEffect = new MatrixEffectScale(mNodeScale); |
124 | 123 |
nodeEffects.apply(nodeScaleEffect); |
... | ... | |
392 | 391 |
|
393 | 392 |
public void apply(Effect effect, int position) |
394 | 393 |
{ |
395 |
for(int i=0; i<NUM_CUBITS; i++) mCubits[i].mEffect.apply(effect, position);
|
|
394 |
mEffects.apply(effect, position);
|
|
396 | 395 |
} |
397 | 396 |
|
398 | 397 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
399 | 398 |
|
400 | 399 |
public void remove(long effectID) |
401 | 400 |
{ |
402 |
for(int i=0; i<NUM_CUBITS; i++) mCubits[i].mEffect.abortById(effectID);
|
|
401 |
mEffects.abortById(effectID);
|
|
403 | 402 |
} |
404 | 403 |
|
405 | 404 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
473 | 472 |
mRotationAngleStatic.set0(0.0f); |
474 | 473 |
mRotationAxis.set( ROTATION_AXIS[axis] ); |
475 | 474 |
mRotationAngle.add(mRotationAngleStatic); |
476 |
mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*RubikObjectList.MAX_SIZE) , -1); |
|
475 |
mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*RubikObjectList.MAX_OBJECT_SIZE) , -1);
|
|
477 | 476 |
} |
478 | 477 |
|
479 | 478 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
489 | 488 |
mRotationAngle.resetToBeginning(); |
490 | 489 |
mRotationAngle.add(new Static1D(0)); |
491 | 490 |
mRotationAngle.add(new Static1D(angle)); |
492 |
mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*RubikObjectList.MAX_SIZE) , -1); |
|
491 |
mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*RubikObjectList.MAX_OBJECT_SIZE) , -1);
|
|
493 | 492 |
mRotateEffect.notifyWhenFinished(listener); |
494 | 493 |
|
495 | 494 |
return mRotateEffect.getID(); |
Also available in: Unified diff
More progreess porting RubikCube.