Merge pull request #9411 from sethalves/tablet-ui-fix-other-camera-index

Tablet ui fix other camera index
This commit is contained in:
Seth Alves 2017-01-17 13:34:36 -08:00 committed by GitHub
commit 016d247fc8
3 changed files with 21 additions and 10 deletions

View file

@ -928,11 +928,9 @@ glm::quat Avatar::getAbsoluteJointRotationInObjectFrame(int index) const {
return controllerRightHandTransform.getRotation();
}
case CAMERA_MATRIX_INDEX: {
bool success;
Transform avatarTransform;
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
return glmExtractRotation(invAvatarMat * qApp->getCamera()->getTransform());
glm::quat rotation;
_skeletonModel->getAbsoluteJointRotationInRigFrame(getJointIndex("head"), rotation);
return rotation;
}
default: {
glm::quat rotation;
@ -961,11 +959,9 @@ glm::vec3 Avatar::getAbsoluteJointTranslationInObjectFrame(int index) const {
return controllerRightHandTransform.getTranslation();
}
case CAMERA_MATRIX_INDEX: {
bool success;
Transform avatarTransform;
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
return extractTranslation(invAvatarMat * qApp->getCamera()->getTransform());
glm::vec3 translation;
_skeletonModel->getAbsoluteJointTranslationInRigFrame(getJointIndex("head"), translation);
return translation;
}
default: {
glm::vec3 translation;

View file

@ -2387,6 +2387,13 @@ glm::quat MyAvatar::getAbsoluteJointRotationInObjectFrame(int index) const {
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
return glmExtractRotation(result);
}
case CAMERA_MATRIX_INDEX: {
bool success;
Transform avatarTransform;
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
return glmExtractRotation(invAvatarMat * qApp->getCamera()->getTransform());
}
default: {
return Avatar::getAbsoluteJointRotationInObjectFrame(index);
}
@ -2413,6 +2420,13 @@ glm::vec3 MyAvatar::getAbsoluteJointTranslationInObjectFrame(int index) const {
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
return extractTranslation(result);
}
case CAMERA_MATRIX_INDEX: {
bool success;
Transform avatarTransform;
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
return extractTranslation(invAvatarMat * qApp->getCamera()->getTransform());
}
default: {
return Avatar::getAbsoluteJointTranslationInObjectFrame(index);
}

View file

@ -2418,6 +2418,7 @@ function MyController(hand) {
// we have an equipped object and the secondary trigger was released
// short-circuit the other checks and release it
this.preparingHoldRelease = false;
this.callEntityMethodOnGrabbed("releaseEquip");
this.setState(STATE_OFF, "equipping ended via secondary press");
return;
}