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 //notice that the z values from avatar.orientation are flipped to accommodate different coordinate system
if (driveKeys[FWD]) { 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; avatar.thrust += front * THRUST_MAG;
} }
if (driveKeys[BACK]) { 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; avatar.thrust -= front * THRUST_MAG;
} }
if (driveKeys[RIGHT]) { 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; avatar.thrust -= right * THRUST_MAG;
} }
if (driveKeys[LEFT]) { 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; avatar.thrust += right * THRUST_MAG;
} }
if (driveKeys[UP]) { 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; avatar.thrust += up * THRUST_MAG;
} }
if (driveKeys[DOWN]) { 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; avatar.thrust -= up * THRUST_MAG;
} }
if (driveKeys[ROT_RIGHT]) { 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 ) { 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 pUp = position + orientation.getUp () * size;
glm::vec3 pFront = position + orientation.getFront () * size; glm::vec3 pFront = position + orientation.getFront () * size;
@ -1024,18 +1024,18 @@ float Head::getBodyYaw() {
glm::vec3 Head::getHeadLookatDirection() { glm::vec3 Head::getHeadLookatDirection() {
return glm::vec3 return glm::vec3
( (
avatar.orientation.getFront().x, avatar.orientation.front.x,
avatar.orientation.getFront().y, avatar.orientation.front.y,
avatar.orientation.getFront().z avatar.orientation.front.z
); );
} }
glm::vec3 Head::getHeadLookatDirectionUp() { glm::vec3 Head::getHeadLookatDirectionUp() {
return glm::vec3 return glm::vec3
( (
avatar.orientation.getUp().x, avatar.orientation.up.x,
avatar.orientation.getUp().y, avatar.orientation.up.y,
avatar.orientation.getUp().z avatar.orientation.up.z
); );
} }
@ -1047,9 +1047,9 @@ glm::vec3 Head::getBonePosition( AvatarBones b )
glm::vec3 Head::getHeadLookatDirectionRight() { glm::vec3 Head::getHeadLookatDirectionRight() {
return glm::vec3 return glm::vec3
( (
avatar.orientation.getRight().x, avatar.orientation.right.x,
avatar.orientation.getRight().y, avatar.orientation.right.y,
avatar.orientation.getRight().z avatar.orientation.right.z
); );
} }
@ -1077,9 +1077,9 @@ void Head::updateHandMovement() {
glm::vec3 transformedHandMovement; glm::vec3 transformedHandMovement;
transformedHandMovement transformedHandMovement
= avatar.orientation.getRight() * -movedHandOffset.x = avatar.orientation.right * -movedHandOffset.x
+ avatar.orientation.getUp() * -movedHandOffset.y + avatar.orientation.up * -movedHandOffset.y
+ avatar.orientation.getFront() * -movedHandOffset.y * 0.4; + avatar.orientation.front * -movedHandOffset.y * 0.4;
//if holding hands, add a pull to the hand... //if holding hands, add a pull to the hand...
if ( usingSprings ) { if ( usingSprings ) {
@ -1123,7 +1123,7 @@ void Head::updateHandMovement() {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
glm::vec3 newElbowPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].position; glm::vec3 newElbowPosition = avatar.bone[ AVATAR_BONE_RIGHT_SHOULDER ].position;
newElbowPosition += armVector * (float)ONE_HALF; 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; newElbowPosition += perpendicular * ( 1.0 - ( avatar.maxArmLength / distance ) ) * ONE_HALF;
avatar.bone[ AVATAR_BONE_RIGHT_UPPER_ARM ].position = newElbowPosition; 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 "Orientation.h"
#include "Util.h" #include "Util.h"
@ -16,9 +23,9 @@ void Orientation::setToIdentity() {
void Orientation::set( Orientation o ) { void Orientation::set( Orientation o ) {
right = o.getRight(); right = o.right;
up = o.getUp(); up = o.up;
front = o.getFront(); front = o.front;
} }

View file

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