cleaned up Orientation calls to right, up, front

This commit is contained in:
Jeffrey Ventrella 2013-04-12 16:52:31 -07:00
parent 5cb0d84990
commit 6ddebd523c
3 changed files with 36 additions and 33 deletions

View file

@ -353,27 +353,27 @@ void Head::simulate(float deltaTime) {
//notice that the z values from avatar.orientation are flipped to accommodate different coordinate system
if (driveKeys[FWD]) {
glm::vec3 front( avatar.orientation.getFront().x, avatar.orientation.getFront().y, avatar.orientation.getFront().z );
glm::vec3 front( avatar.orientation.front.x, avatar.orientation.front.y, avatar.orientation.front.z );
avatar.thrust += front * THRUST_MAG;
}
if (driveKeys[BACK]) {
glm::vec3 front( avatar.orientation.getFront().x, avatar.orientation.getFront().y, avatar.orientation.getFront().z );
glm::vec3 front( avatar.orientation.front.x, avatar.orientation.front.y, avatar.orientation.front.z );
avatar.thrust -= front * THRUST_MAG;
}
if (driveKeys[RIGHT]) {
glm::vec3 right( avatar.orientation.getRight().x, avatar.orientation.getRight().y, avatar.orientation.getRight().z );
glm::vec3 right( avatar.orientation.right.x, avatar.orientation.right.y, avatar.orientation.right.z );
avatar.thrust -= right * THRUST_MAG;
}
if (driveKeys[LEFT]) {
glm::vec3 right( avatar.orientation.getRight().x, avatar.orientation.getRight().y, avatar.orientation.getRight().z );
glm::vec3 right( avatar.orientation.right.x, avatar.orientation.right.y, avatar.orientation.right.z );
avatar.thrust += right * THRUST_MAG;
}
if (driveKeys[UP]) {
glm::vec3 up( avatar.orientation.getUp().x, avatar.orientation.getUp().y, avatar.orientation.getUp().z );
glm::vec3 up( avatar.orientation.up.x, avatar.orientation.up.y, avatar.orientation.up.z );
avatar.thrust += up * THRUST_MAG;
}
if (driveKeys[DOWN]) {
glm::vec3 up( avatar.orientation.getUp().x, avatar.orientation.getUp().y, avatar.orientation.getUp().z );
glm::vec3 up( avatar.orientation.up.x, avatar.orientation.up.y, avatar.orientation.up.z );
avatar.thrust -= up * THRUST_MAG;
}
if (driveKeys[ROT_RIGHT]) {
@ -573,7 +573,7 @@ void Head::render(int faceToFace, int isMine) {
void Head::renderOrientationDirections( glm::vec3 position, Orientation orientation, float size ) {
glm::vec3 pRight = position + orientation.getRight () * size;
glm::vec3 pRight = position + orientation.right * size;
glm::vec3 pUp = position + orientation.getUp () * size;
glm::vec3 pFront = position + orientation.getFront () * size;
@ -1024,18 +1024,18 @@ float Head::getBodyYaw() {
glm::vec3 Head::getHeadLookatDirection() {
return glm::vec3
(
avatar.orientation.getFront().x,
avatar.orientation.getFront().y,
avatar.orientation.getFront().z
avatar.orientation.front.x,
avatar.orientation.front.y,
avatar.orientation.front.z
);
}
glm::vec3 Head::getHeadLookatDirectionUp() {
return glm::vec3
(
avatar.orientation.getUp().x,
avatar.orientation.getUp().y,
avatar.orientation.getUp().z
avatar.orientation.up.x,
avatar.orientation.up.y,
avatar.orientation.up.z
);
}
@ -1047,9 +1047,9 @@ glm::vec3 Head::getBonePosition( AvatarBones b )
glm::vec3 Head::getHeadLookatDirectionRight() {
return glm::vec3
(
avatar.orientation.getRight().x,
avatar.orientation.getRight().y,
avatar.orientation.getRight().z
avatar.orientation.right.x,
avatar.orientation.right.y,
avatar.orientation.right.z
);
}
@ -1077,9 +1077,9 @@ void Head::updateHandMovement() {
glm::vec3 transformedHandMovement;
transformedHandMovement
= avatar.orientation.getRight() * -movedHandOffset.x
+ avatar.orientation.getUp() * -movedHandOffset.y
+ avatar.orientation.getFront() * -movedHandOffset.y * 0.4;
= avatar.orientation.right * -movedHandOffset.x
+ avatar.orientation.up * -movedHandOffset.y
+ avatar.orientation.front * -movedHandOffset.y * 0.4;
//if holding hands, add a pull to the hand...
if ( usingSprings ) {
@ -1123,7 +1123,7 @@ void Head::updateHandMovement() {
//-----------------------------------------------------------------------------
glm::vec3 newElbowPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].position;
newElbowPosition += armVector * (float)ONE_HALF;
glm::vec3 perpendicular = glm::cross( avatar.orientation.getFront(), armVector );
glm::vec3 perpendicular = glm::cross( avatar.orientation.front, armVector );
newElbowPosition += perpendicular * ( 1.0 - ( avatar.maxArmLength / distance ) ) * ONE_HALF;
avatar.bone[ AVATAR_BONE_RIGHT_UPPER_ARM ].position = newElbowPosition;

View file

@ -1,3 +1,10 @@
//-----------------------------------------------------------
//
// Created by Jeffrey Ventrella
// Copyright (c) 2013 High Fidelity, Inc. All rights reserved.
//
//-----------------------------------------------------------
#include "Orientation.h"
#include "Util.h"
@ -16,9 +23,9 @@ void Orientation::setToIdentity() {
void Orientation::set( Orientation o ) {
right = o.getRight();
up = o.getUp();
front = o.getFront();
right = o.right;
up = o.up;
front = o.front;
}

View file

@ -1,7 +1,7 @@
//-----------------------------------------------------------
//
// Created by Jeffrey Ventrella and added as a utility
// class for High Fidelity Code base, April 2013
// Created by Jeffrey Ventrella
// Copyright (c) 2013 High Fidelity, Inc. All rights reserved.
//
//-----------------------------------------------------------
@ -20,14 +20,6 @@ enum Axis
class Orientation
{
private:
glm::vec3 right;
glm::vec3 up;
glm::vec3 front;
//void verifyValidOrientation();
public:
Orientation();
@ -38,6 +30,10 @@ public:
void set( Orientation );
void setToIdentity();
glm::vec3 right;
glm::vec3 up;
glm::vec3 front;
glm::vec3 getRight() { return right; }
glm::vec3 getUp() { return up; }
glm::vec3 getFront() { return front; }