aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcharacter/llpose.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:34 -0500
committerJacek Antonelli2008-08-15 23:45:34 -0500
commitcd17687f01420952712a500107e0f93e7ab8d5f8 (patch)
treece48c2b706f2c1176290e39fb555fbdf6648ce01 /linden/indra/llcharacter/llpose.cpp
parentSecond Life viewer sources 1.19.0.5 (diff)
downloadmeta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.zip
meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.gz
meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.bz2
meta-impy-cd17687f01420952712a500107e0f93e7ab8d5f8.tar.xz
Second Life viewer sources 1.19.1.0
Diffstat (limited to 'linden/indra/llcharacter/llpose.cpp')
-rw-r--r--linden/indra/llcharacter/llpose.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/linden/indra/llcharacter/llpose.cpp b/linden/indra/llcharacter/llpose.cpp
index 3a6a221..f496b7b 100644
--- a/linden/indra/llcharacter/llpose.cpp
+++ b/linden/indra/llcharacter/llpose.cpp
@@ -379,15 +379,20 @@ void LLJointStateBlender::blendJointStates(BOOL apply_now)
379 } 379 }
380 } 380 }
381 381
382 // apply blended transforms 382 if (!added_scale.isFinite())
383 target_joint->setPosition(blended_pos); 383 {
384 target_joint->setScale(blended_scale); 384 added_scale.clearVec();
385 target_joint->setRotation(blended_rot); 385 }
386 386
387 // apply additive transforms 387 if (!blended_scale.isFinite())
388 target_joint->setPosition(target_joint->getPosition() + added_pos); 388 {
389 target_joint->setScale(target_joint->getScale() + added_scale); 389 blended_scale.setVec(1,1,1);
390 target_joint->setRotation(added_rot * target_joint->getRotation()); 390 }
391
392 // apply transforms
393 target_joint->setPosition(blended_pos + added_pos);
394 target_joint->setScale(blended_scale + added_scale);
395 target_joint->setRotation(added_rot * blended_rot);
391 396
392 if (apply_now) 397 if (apply_now)
393 { 398 {