Revision 9dacabea
Added by Leszek Koltunski over 4 years ago
src/main/java/org/distorted/library/type/Dynamic4D.java | ||
---|---|---|
520 | 520 |
if( cacheDirty ) recomputeCache(); // recompute cache if we have added or remove vectors since last computation |
521 | 521 |
else if( mSegment!= segment ) // ...or if we have just passed a vector and the vector we are currently flying to has changed |
522 | 522 |
{ |
523 |
int vecNext; |
|
524 |
|
|
525 |
switch(mMode) |
|
526 |
{ |
|
527 |
case MODE_LOOP: vecNext = vecCurr==numPoints-1 ? 0:vecCurr+1; |
|
528 |
break; |
|
529 |
case MODE_PATH: if( t<=0.5f ) vecNext = vecCurr==numPoints-1 ? numPoints-2: vecCurr+1; |
|
530 |
else vecNext = vecCurr==0 ? 1 : vecCurr-1; |
|
531 |
break; |
|
532 |
case MODE_JUMP: vecNext = vecCurr==numPoints-1 ? 1:vecCurr+1; |
|
533 |
break; |
|
534 |
default : vecNext = 0; |
|
535 |
} |
|
536 |
|
|
523 |
int vecNext = getNext(vecCurr,t); |
|
537 | 524 |
next = vv.elementAt(vecNext); |
538 | 525 |
tmp2 = vc.elementAt(vecNext); |
539 | 526 |
|
... | ... | |
566 | 553 |
buffer[offset+2]= ((tmp1.a[2]*time+tmp1.b[2])*time+tmp1.c[2])*time+tmp1.d[2]; |
567 | 554 |
buffer[offset+3]= ((tmp1.a[3]*time+tmp1.b[3])*time+tmp1.c[3])*time+tmp1.d[3]; |
568 | 555 |
} |
569 |
|
|
556 |
|
|
570 | 557 |
break; |
571 | 558 |
} |
572 | 559 |
} |
Also available in: Unified diff
library: Fix DynamicQuat
cube app: progress with ScrambleEffects