| 918 | } |
| 919 | |
| 920 | void TSShapeInstance::addPath(TSThread *gt, F32 start, F32 end, MatrixF *mat) |
| 921 | { |
| 922 | // never get here while in transition... |
| 923 | AssertFatal(!gt->transitionData.inTransition,"TSShapeInstance::addPath"); |
| 924 | |
| 925 | if (!mat) |
| 926 | mat = &mGroundTransform; |
| 927 | |
| 928 | MatrixF startInvM; |
| 929 | gt->getGround(start,&startInvM); |
| 930 | startInvM.inverse(); |
| 931 | |
| 932 | MatrixF endM; |
| 933 | gt->getGround(end,&endM); |
| 934 | |
| 935 | MatrixF addM; |
| 936 | addM.mul(startInvM,endM); |
| 937 | endM.mul(*mat,addM); |
| 938 | *mat = endM; |
| 939 | } |
| 940 | |
| 941 | bool TSShapeInstance::initGround() |
| 942 | { |