Revision 4da7d87a
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/objects/RubikObject.java | ||
---|---|---|
69 | 69 |
private int mRotAxis; |
70 | 70 |
private Static3D[] mOrigPos; |
71 | 71 |
private Static3D mNodeScale; |
72 |
private Static4D mQuatAccumulated;
|
|
72 |
private Static4D mQuat; |
|
73 | 73 |
private Cubit[] mCubits; |
74 | 74 |
private int mSize; |
75 | 75 |
private RubikObjectList mList; |
... | ... | |
85 | 85 |
DistortedTexture mTexture; |
86 | 86 |
|
87 | 87 |
MatrixEffectScale mScaleEffect; |
88 |
MatrixEffectQuaternion mQuatCEffect; |
|
89 |
MatrixEffectQuaternion mQuatAEffect; |
|
88 |
MatrixEffectQuaternion mQuatEffect; |
|
90 | 89 |
|
91 | 90 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
92 | 91 |
|
93 |
RubikObject(int size, int fov, Static4D quatCur, Static4D quatAcc, DistortedTexture nodeTexture,
|
|
94 |
MeshRectangles nodeMesh, DistortedEffects nodeEffects, int[][] moves, RubikObjectList list, Resources res)
|
|
92 |
RubikObject(int size, int fov, Static4D quat, DistortedTexture nodeTexture, MeshRectangles nodeMesh,
|
|
93 |
DistortedEffects nodeEffects, int[][] moves, RubikObjectList list, Resources res) |
|
95 | 94 |
{ |
96 | 95 |
super(nodeTexture,nodeEffects,nodeMesh); |
97 | 96 |
|
... | ... | |
109 | 108 |
mSize = size; |
110 | 109 |
computeStartAndStep(mOrigPos); |
111 | 110 |
mNodeScale= new Static3D(1,1,1); |
112 |
mQuatAccumulated = quatAcc;
|
|
111 |
mQuat = quat;
|
|
113 | 112 |
|
114 | 113 |
mRotationAngle= new Dynamic1D(); |
115 | 114 |
mRotationAxis = new Static3D(1,0,0); |
... | ... | |
121 | 120 |
|
122 | 121 |
float scale = OBJECT_SCREEN_RATIO*NODE_FBO_SIZE/mSize; |
123 | 122 |
mScaleEffect = new MatrixEffectScale(new Static3D(scale,scale,scale)); |
124 |
mQuatCEffect = new MatrixEffectQuaternion(quatCur, CENTER); |
|
125 |
mQuatAEffect = new MatrixEffectQuaternion(quatAcc, CENTER); |
|
123 |
mQuatEffect = new MatrixEffectQuaternion(quat, CENTER); |
|
126 | 124 |
|
127 | 125 |
MatrixEffectScale nodeScaleEffect = new MatrixEffectScale(mNodeScale); |
128 | 126 |
nodeEffects.apply(nodeScaleEffect); |
... | ... | |
163 | 161 |
} |
164 | 162 |
|
165 | 163 |
mEffects.apply(mRotateEffect); |
166 |
mEffects.apply(mQuatAEffect); |
|
167 |
mEffects.apply(mQuatCEffect); |
|
164 |
mEffects.apply(mQuatEffect); |
|
168 | 165 |
mEffects.apply(mScaleEffect); |
169 | 166 |
|
170 | 167 |
attach( new DistortedNode(mTexture,mEffects,mMesh) ); |
... | ... | |
349 | 346 |
|
350 | 347 |
public Static4D getRotationQuat() |
351 | 348 |
{ |
352 |
return mQuatAccumulated;
|
|
349 |
return mQuat; |
|
353 | 350 |
} |
354 | 351 |
|
355 | 352 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Simplify dragging. Now there's only 1 Quat, rather than the old way with two (Accumulated, Current).