MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / clearTransition

Method clearTransition

Engine/source/ts/tsThread.cpp:610–652  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

608}
609
610void TSShapeInstance::clearTransition(TSThread * thread)
611{
612 if (!thread->transitionData.inTransition)
613 return;
614
615 // if other transitions are still playing,
616 // make sure transforms are up to date
617 if (mTransitionThreads.size()>1)
618 animateNodeSubtrees();
619
620 // turn off transition...
621 thread->transitionData.inTransition = false;
622
623 // remove us from transition list
624 S32 i;
625 if (mTransitionThreads.size() != 0) {
626 for (i=0; i<mTransitionThreads.size(); i++)
627 if (mTransitionThreads[i]==thread)
628 break;
629 AssertFatal(i!=mTransitionThreads.size(),"TSShapeInstance::clearTransition");
630 mTransitionThreads.erase(i);
631 }
632
633 // recompute transitionNodes
634 mTransitionRotationNodes.clearAll();
635 mTransitionTranslationNodes.clearAll();
636 mTransitionScaleNodes.clearAll();
637 for (i=0; i<mTransitionThreads.size(); i++)
638 {
639 mTransitionRotationNodes.overlap(mTransitionThreads[i]->transitionData.oldRotationNodes);
640 mTransitionRotationNodes.overlap(mTransitionThreads[i]->getSequence()->rotationMatters);
641
642 mTransitionTranslationNodes.overlap(mTransitionThreads[i]->transitionData.oldTranslationNodes);
643 mTransitionTranslationNodes.overlap(mTransitionThreads[i]->getSequence()->translationMatters);
644
645 mTransitionScaleNodes.overlap(mTransitionThreads[i]->transitionData.oldScaleNodes);
646 mTransitionScaleNodes.overlap(mTransitionThreads[i]->getSequence()->scaleMatters);
647 }
648
649 setDirty(ThreadDirty);
650
651 updateTransitions();
652}
653
654void TSShapeInstance::updateTransitions()
655{

Callers 4

setSequenceMethod · 0.80
advancePosMethod · 0.80
onAddMethod · 0.80
unpackUpdateMethod · 0.80

Calls 5

sizeMethod · 0.45
eraseMethod · 0.45
clearAllMethod · 0.45
overlapMethod · 0.45
getSequenceMethod · 0.45

Tested by

no test coverage detected