| 626 | } |
| 627 | |
| 628 | void Tr2GrannyAnimationLayer::SampleAnimation( float animationTime, cmf::SkeletonPose* resultPose, IBlueEventListener* listener, std::unordered_map<std::string, float>& morphAnimations ) |
| 629 | { |
| 630 | SampleMorphTracks( morphAnimations ); |
| 631 | FreeCompletedControls(); |
| 632 | if( m_controlParamEnabled ) |
| 633 | { |
| 634 | UpdateControlParam( animationTime ); |
| 635 | |
| 636 | cmf::RestPose( *resultPose, m_sequencer->GetSkeleton() ); |
| 637 | m_sequencer->EnumerateAnimations( [&]( const std::shared_ptr<cmf::AnimationPlayer>& player ) { |
| 638 | player->SampleAtLocalTime( *resultPose, m_controlParam * player->GetLoopDuration() ); |
| 639 | } ); |
| 640 | } |
| 641 | else |
| 642 | { |
| 643 | m_sequencer->Sample( *resultPose, animationTime ); |
| 644 | } |
| 645 | } |
| 646 | |
| 647 | void Tr2GrannyAnimationLayer::SampleAnimation( float animationTime, cmf::SkeletonPose* compositePose, cmf::SkeletonPose* resultPose, IBlueEventListener* listener, std::unordered_map<std::string, float>& morphAnimations, bool additive ) |
| 648 | { |
no test coverage detected