Revision 3788d0cd
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/objectlib/main/TwistyObjectCubit.java | ||
---|---|---|
205 | 205 |
|
206 | 206 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
207 | 207 |
|
208 |
boolean rotateCubit(Static4D quat) |
|
208 |
float[] getCurrentPos() |
|
209 |
{ |
|
210 |
return mCurrentPosition; |
|
211 |
} |
|
212 |
|
|
213 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
214 |
|
|
215 |
boolean rotateCubit(Static4D quat, boolean clamp) |
|
209 | 216 |
{ |
210 | 217 |
boolean result = true; |
211 | 218 |
int len = mLen/3; |
212 | 219 |
|
213 |
for(int i=0; i<len; i++) |
|
220 |
if( clamp ) |
|
221 |
{ |
|
222 |
for(int i=0; i<len; i++) |
|
223 |
{ |
|
224 |
QuatHelper.rotateVectorByQuat( mTmp, mCurrentPosition[3*i], mCurrentPosition[3*i+1], mCurrentPosition[3*i+2], 0, quat); |
|
225 |
mCurrentPosition[3*i ] = mTmp[0]; |
|
226 |
mCurrentPosition[3*i+1] = mTmp[1]; |
|
227 |
mCurrentPosition[3*i+2] = mTmp[2]; |
|
228 |
mParent.clampPos(mCurrentPosition, 3*i); |
|
229 |
} |
|
230 |
} |
|
231 |
else |
|
214 | 232 |
{ |
215 |
QuatHelper.rotateVectorByQuat( mTmp, mCurrentPosition[3*i], mCurrentPosition[3*i+1], mCurrentPosition[3*i+2], 0, quat); |
|
216 |
mCurrentPosition[3*i ] = mTmp[0]; |
|
217 |
mCurrentPosition[3*i+1] = mTmp[1]; |
|
218 |
mCurrentPosition[3*i+2] = mTmp[2]; |
|
219 |
mParent.clampPos(mCurrentPosition, 3*i); |
|
233 |
for(int i=0; i<len; i++) |
|
234 |
{ |
|
235 |
QuatHelper.rotateVectorByQuat( mTmp, mCurrentPosition[3*i], mCurrentPosition[3*i+1], mCurrentPosition[3*i+2], 0, quat); |
|
236 |
mCurrentPosition[3*i ] = mTmp[0]; |
|
237 |
mCurrentPosition[3*i+1] = mTmp[1]; |
|
238 |
mCurrentPosition[3*i+2] = mTmp[2]; |
|
239 |
} |
|
220 | 240 |
} |
221 | 241 |
|
222 | 242 |
if( mCubitType!=TYPE_NORMAL ) |
Also available in: Unified diff
Speedups for setupPosition(). Now the 587 moves of the Burr Cube is getting done visibly faster.