From 82af0cc382bf862d47a2d0b3f97ac96e0f2e88a7 Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:00:56 -0300 Subject: [PATCH 01/10] Update BlockOnSlope.js cleaner array method --- js/models/BlockOnSlope.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/BlockOnSlope.js b/js/models/BlockOnSlope.js index d63ff50..2192c74 100644 --- a/js/models/BlockOnSlope.js +++ b/js/models/BlockOnSlope.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.BlockOnSlope = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.BlockOnSlope.prototype.vars = From 69b66afa6d444a16d7427b60a587de3b34282963 Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:19:48 -0300 Subject: [PATCH 02/10] Update Airplane.js --- js/models/Airplane.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/Airplane.js b/js/models/Airplane.js index e0a75e0..44d5f07 100644 --- a/js/models/Airplane.js +++ b/js/models/Airplane.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.Airplane = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); integrationStep(this, ['x', 'vx', 'y', 'vy', 'pitch', 'pitch_rate', 'elevator_angle', 'throttle', 'brake'], 0.02); } From b191e6d0445148e1a0a3eff5d51bd4b24166a137 Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:23:34 -0300 Subject: [PATCH 03/10] Update BouncingBallPlatform.js --- js/models/BouncingBallPlatform.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/js/models/BouncingBallPlatform.js b/js/models/BouncingBallPlatform.js index 43db32f..3e8b441 100644 --- a/js/models/BouncingBallPlatform.js +++ b/js/models/BouncingBallPlatform.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.BouncingBallPlatform = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.BouncingBallPlatform.prototype.vars = @@ -326,4 +323,4 @@ Models.BouncingBallPlatform.prototype.infoText = function () + "\nhinge.angle = " + this.hinge_angle.toFixed(2).padStart(6,' ') + "\nhinge.speed = " + this.hinge_angular_speed.toFixed(2).padStart(6,' ') + "\nT = " + this.T.toFixed(2).padStart(6,' '); -} \ No newline at end of file +} From 5aaa849d9b539c1ce6c1d5cc478cc65df7bcd53f Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:24:38 -0300 Subject: [PATCH 04/10] Update CruiseControl.js --- js/models/CruiseControl.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/CruiseControl.js b/js/models/CruiseControl.js index 727796e..af96149 100644 --- a/js/models/CruiseControl.js +++ b/js/models/CruiseControl.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.CruiseControl = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.CruiseControl.prototype.vars = From b70f67f48730e88dfa28c0c872f2effcd81008cd Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:25:41 -0300 Subject: [PATCH 05/10] Update DoublePendulum.js --- js/models/DoublePendulum.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/DoublePendulum.js b/js/models/DoublePendulum.js index 450ab59..1dfb392 100644 --- a/js/models/DoublePendulum.js +++ b/js/models/DoublePendulum.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.DoublePendulum = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.DoublePendulum.prototype.vars = From dfbb73de4f91570810b05e459c1a15bcfa41f83a Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:27:16 -0300 Subject: [PATCH 06/10] Update Multirotor.js --- js/models/Multirotor.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/Multirotor.js b/js/models/Multirotor.js index 692f691..125119b 100644 --- a/js/models/Multirotor.js +++ b/js/models/Multirotor.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.Multirotor = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.Multirotor.prototype.vars = From 5fd4edaf6e5cf8079d4645cc45e16f50cacda66a Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:28:18 -0300 Subject: [PATCH 07/10] Update RocketLanding.js --- js/models/RocketLanding.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/RocketLanding.js b/js/models/RocketLanding.js index ac9ea39..933a2bf 100644 --- a/js/models/RocketLanding.js +++ b/js/models/RocketLanding.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.RocketLanding = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.RocketLanding.prototype.vars = From 4774c9d71e1f08bf6153e29ed11131c3de68820e Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:29:32 -0300 Subject: [PATCH 08/10] Update SinglePendulum.js --- js/models/SinglePendulum.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/models/SinglePendulum.js b/js/models/SinglePendulum.js index 66bcf7d..83c6366 100644 --- a/js/models/SinglePendulum.js +++ b/js/models/SinglePendulum.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.SinglePendulum = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); } Models.SinglePendulum.prototype.vars = From c6bc7441750092baf8a4b3badb18a0061615ec16 Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:30:54 -0300 Subject: [PATCH 09/10] Update Vehicle.js --- js/models/Vehicle.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/js/models/Vehicle.js b/js/models/Vehicle.js index e6f1fe9..5931614 100644 --- a/js/models/Vehicle.js +++ b/js/models/Vehicle.js @@ -3,12 +3,9 @@ if (typeof Models === 'undefined') var Models = {}; Models.Vehicle = function(params) { - var nVars = Object.keys(this.vars).length; - for(var i = 0; i < nVars; i++) - { - var key = Object.keys(this.vars)[i]; - this[key] = (typeof params[key] == 'undefined')?this.vars[key]:params[key]; - } + Object.keys(this.vars).forEach(key => { + this[key] = (typeof params[key] === 'undefined') ? this.vars[key] : params[key]; + }); this.updateLidarPoints(); } @@ -205,4 +202,4 @@ Models.Vehicle.prototype.infoText = function () str += "\n/* Simulation time */ vehicle.T = " + round(this.T,2); return str; -} \ No newline at end of file +} From 93d96b40a5f4025b09345f999e0432641f1c20c7 Mon Sep 17 00:00:00 2001 From: matias morant Date: Tue, 30 Sep 2025 22:34:46 -0300 Subject: [PATCH 10/10] Update Vehicle.js --- js/models/Vehicle.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/js/models/Vehicle.js b/js/models/Vehicle.js index 5931614..34de98d 100644 --- a/js/models/Vehicle.js +++ b/js/models/Vehicle.js @@ -35,12 +35,11 @@ Models.Vehicle.prototype.vars = Models.Vehicle.prototype.updateLidarPoints = function () { - this.lidarPoints = []; - for (var i = 0; i < this.lidarDirections.length; i++) { - var lidarPoint = this.lineSearch(this.x,this.y,this.heading + this.lidarDirections[i]); - lidarPoint.direction = this.lidarDirections[i]; - this.lidarPoints.push(lidarPoint); - }; + this.lidarPoints = this.lidarDirections.map(direction => { + const lidarPoint = this.lineSearch(this.x, this.y, this.heading + direction); + lidarPoint.direction = direction; + return lidarPoint; + }); } Models.Vehicle.prototype.simulate = function (dt, controlFunc)