From 0f45dc185e22c605a6dce8fc19c341ddb9fae40c Mon Sep 17 00:00:00 2001
From: Sandro Weber <webers@in.tum.de>
Date: Tue, 7 Jul 2020 07:47:59 +0000
Subject: [PATCH] =?UTF-8?q?Fusion=20effectu=C3=A9e=20NRRPLT-7881-avatar-mo?=
 =?UTF-8?q?de-is-broken=20(pull=20request=20#38)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[NRRPLT-7881] quick adjustment

* [NRRPLT-7881] quick adjustment

Approuvé par : Manos Angelidis
Approuvé par : Michael Zechmair
---
 gz3d/client/js/include/avatar-controls.js | 71 ++++++++++++-----------
 1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/gz3d/client/js/include/avatar-controls.js b/gz3d/client/js/include/avatar-controls.js
index 5d51035..07bb4aa 100644
--- a/gz3d/client/js/include/avatar-controls.js
+++ b/gz3d/client/js/include/avatar-controls.js
@@ -5,7 +5,7 @@
 /* global THREE: true */
 /* global console: false */
 
-THREE.AvatarControls = function(userNavigationService, gz3d) {
+THREE.AvatarControls = function (userNavigationService, gz3d) {
   'use strict';
 
   var that = this;
@@ -83,7 +83,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
 
   this.avatarRotation = new THREE.Quaternion();
 
-  this.init = function(avatar, camera) {
+  this.init = function (avatar, camera) {
     this.avatar = avatar;
     this.camera = camera;
 
@@ -94,9 +94,9 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.camera.updateMatrixWorld();
   };
 
-  this.createAvatarTopics = function(avatarName) {
+  this.createAvatarTopics = function (avatarName) {
     this.linearVelocityTopicName =
-      '/' + avatarName + '/user_avatar_basic/body/cmd_vel';
+      '/' + avatarName + '/user_avatar_basic/body/linear_vel';
     this.linearVelocityTopic = this.userNavigationService.roslib.createTopic(
       this.rosConnection,
       this.linearVelocityTopicName,
@@ -111,7 +111,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     );
   };
 
-  this.onMouseDown = function(event) {
+  this.onMouseDown = function (event) {
     // HBP-NRP: The next three lines are commented since this leads to problems in chrome with respect
     // to AngularJS, also see: [NRRPLT-1992]
     //if (this.domElementPointerBindings !== document) {
@@ -137,7 +137,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.onMouseUp = function(event) {
+  this.onMouseUp = function (event) {
     event.preventDefault();
 
     // We do not stop the event propagation here, since there may be other
@@ -158,7 +158,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.onMouseMove = function(event) {
+  this.onMouseMove = function (event) {
     // only update the position, when a mouse button is pressed
     // else end the lookAround-mode
 
@@ -173,7 +173,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.onTouchStart = function(event) {
+  this.onTouchStart = function (event) {
     switch (event.touches.length) {
       case 1:
         // look around
@@ -220,7 +220,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.onTouchMove = function(event) {
+  this.onTouchMove = function (event) {
     event.preventDefault();
     switch (event.touches.length) {
       case 1:
@@ -289,7 +289,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.onTouchEnd = function(event) {
+  this.onTouchEnd = function (event) {
     switch (event.touches.length) {
       case 0:
         that.endLookAround();
@@ -302,14 +302,14 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
   };
 
-  this.endLookAround = function() {
+  this.endLookAround = function () {
     this.mouseRotationEnabled = false;
     this.touchRotationEnabled = false;
     this.azimuthOnRotStart = this.azimuth;
     this.zenithOnRotStart = this.zenith;
   };
 
-  this.endMovement = function() {
+  this.endMovement = function () {
     this.moveForward = false;
     this.moveBackward = false;
     this.moveRight = false;
@@ -318,7 +318,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.moveDown = false;
   };
 
-  this.onKeyDown = function(event) {
+  this.onKeyDown = function (event) {
     if (
       that.keyboardBindingsEnabled === false ||
       event.metaKey ||
@@ -371,7 +371,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     event.preventDefault();
   };
 
-  this.onKeyUp = function(event) {
+  this.onKeyUp = function (event) {
     if (that.keyboardBindingsEnabled === false) {
       return;
     }
@@ -431,7 +431,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     event.preventDefault();
   };
 
-  this.keyboardRotate = function(rightAmount, upAmount) {
+  this.keyboardRotate = function (rightAmount, upAmount) {
     // rotate left/right
     // rotation happens around the world up axis so up remains up (no upside-down)
     this.azimuth += rightAmount;
@@ -446,7 +446,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
    * @param position
    * @param lookAt
    */
-  this.applyPose = function(position, lookAt) {
+  this.applyPose = function (position, lookAt) {
     this.applyPosePosition = position;
     this.applyPoseLookAt = lookAt;
     this.applyPoseDuringUpdate = true;
@@ -457,7 +457,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
    * @param position THREE.Vector3 position
    * @param lookAt THREE.Vector3 point to look at (world coordinates)
    */
-  this.setPose = function(position, lookAt) {
+  this.setPose = function (position, lookAt) {
     if (
       !(position instanceof THREE.Vector3) ||
       !(lookAt instanceof THREE.Vector3)
@@ -477,7 +477,8 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     }
 
     // update orientation
-    var camWorldPosition = this.camera.getWorldPosition();
+    let camWorldPosition = new THREE.Vector3();
+    this.camera.getWorldPosition(camWorldPosition);
     var vecForward = new THREE.Vector3()
       .add(lookAt)
       .sub(camWorldPosition)
@@ -490,11 +491,11 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
    * @param position THREE.Vector3 position in space
    * @returns {*}
    */
-  this.projectOntoGround = function(position) {
+  this.projectOntoGround = function (position) {
     var that = this;
-    var isObjectPartOfAvatar = function(object) {
+    var isObjectPartOfAvatar = function (object) {
       var partOfAvatar = false;
-      object.traverseAncestors(function(node) {
+      object.traverseAncestors(function (node) {
         if (node.name && node.name === that.avatar.name) {
           partOfAvatar = true;
         }
@@ -539,7 +540,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
    * update spherical angles by a world forward vector
    * @param vecForward
    */
-  this.updateSphericalAnglesFromForwardVector = function(vecForward) {
+  this.updateSphericalAnglesFromForwardVector = function (vecForward) {
     vecForward.normalize();
 
     this.azimuth = Math.atan2(vecForward.y, vecForward.x) - 0.5 * Math.PI;
@@ -552,7 +553,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.zenithOnRotStart = this.zenith;
   };
 
-  this.updateSphericalAnglesFromUserInput = function(
+  this.updateSphericalAnglesFromUserInput = function (
     timeDelta,
     rotationSensitivity
   ) {
@@ -634,7 +635,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
   /**
    * Update avatar quaternion from current azimuth
    */
-  this.updateAvatarRotation = function() {
+  this.updateAvatarRotation = function () {
     /*if (this.azimuth > Math.PI) {
      this.azimuth -= 2 * Math.PI;
      } else if (this.azimuth < -Math.PI) {
@@ -651,12 +652,12 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
   /**
    * Update avatar quaternion from current azimuth
    */
-  this.publishAvatarRotation = function() {
+  this.publishAvatarRotation = function () {
     var rotationMsg = new ROSLIB.Message({
       x: this.avatarRotation.x,
       y: this.avatarRotation.y,
       z: this.avatarRotation.z,
-      w: this.avatarRotation.w
+      w: this.avatarRotation.w,
     });
 
     this.avatarRotationTopic.publish(rotationMsg);
@@ -665,7 +666,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
   /**
    * Update camera quaternion from current azimuth and zenith
    */
-  this.updateCameraRotation = function() {
+  this.updateCameraRotation = function () {
     var rotation = new THREE.Quaternion();
     rotation.multiply(
       new THREE.Quaternion().setFromAxisAngle(
@@ -677,7 +678,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.camera.updateMatrixWorld();
   };
 
-  this.updateLinearVelocity = function(delta, translationSensitivity) {
+  this.updateLinearVelocity = function (delta, translationSensitivity) {
     var speedFactor;
 
     if (this.shiftHold) {
@@ -715,11 +716,11 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.linearVelocity.applyQuaternion(this.avatar.quaternion);
   };
 
-  this.publishLinearVelocity = function() {
+  this.publishLinearVelocity = function () {
     var velocityMsg = new ROSLIB.Message({
       x: this.linearVelocity.x,
       y: this.linearVelocity.y,
-      z: this.linearVelocity.z
+      z: this.linearVelocity.z,
     });
 
     this.linearVelocityTopic.publish(velocityMsg);
@@ -729,7 +730,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
    * Method to be called during render cycles for updates between frames.
    * @param delta Time passed since last frame
    */
-  this.update = function(delta, translationSensitivity, rotationSensitivity) {
+  this.update = function (delta, translationSensitivity, rotationSensitivity) {
     if (!this.enabled) {
       if (this.mouseRotationEnabled || this.touchRotationEnabled) {
         this.endLookAround();
@@ -766,15 +767,15 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     this.updateCameraRotation();
   };
 
-  this.onMouseDownManipulator = function(action) {
+  this.onMouseDownManipulator = function (action) {
     this[action] = true;
   };
 
-  this.onMouseUpManipulator = function(action) {
+  this.onMouseUpManipulator = function (action) {
     this[action] = false;
   };
 
-  this.attachEventListeners = function() {
+  this.attachEventListeners = function () {
     var userViewDOM = this.gz3d.scene.viewManager.mainUserView.container;
     this.domElementPointerBindings = userViewDOM ? userViewDOM : document;
     this.domElementKeyboardBindings = document;
@@ -822,7 +823,7 @@ THREE.AvatarControls = function(userNavigationService, gz3d) {
     );
   };
 
-  this.detachEventListeners = function() {
+  this.detachEventListeners = function () {
     if (this.domElementPointerBindings) {
       this.domElementPointerBindings.removeEventListener(
         'mousedown',
-- 
GitLab