Skip to content

Commit 41ca09a

Browse files
cycle offset axis
1 parent 8989432 commit 41ca09a

File tree

3 files changed

+35
-9
lines changed

3 files changed

+35
-9
lines changed

index.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,9 @@ canvas{
248248
min-width: 700px;
249249
}
250250

251+
#reference-trajectory-container .control-container-label:first-of-type{
252+
cursor: pointer;
253+
}
251254
#reference-trajectory-options{
252255
display:flex;
253256
flex-wrap: wrap;

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@
190190
<div id="reference-trajectory-offset-container">
191191
<span class="slider-container">
192192
<div>
193-
<span class="control-container-label">X Offset:</span>
193+
<span class="control-container-label"></span>
194194
<span class="control-container-label">0</span>
195195
</div>
196196
<div>

index.js

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ class MultiController {
5858

5959
let model = null
6060
let trajectory = null
61-
let trajectory_x_offset = 0
61+
let trajectory_offset = 0
62+
let trajectory_offset_axis = 0
6263
class Policy{
6364
constructor() {
6465
this.step = 0
@@ -136,7 +137,7 @@ class Policy{
136137
const ref = this._get_reference()
137138
return states.map((_, i) => {
138139
const new_ref = ref.slice()
139-
new_ref[0] += trajectory_x_offset * i
140+
new_ref[trajectory_offset_axis] += trajectory_offset * i
140141
return new_ref
141142
})
142143
}
@@ -185,12 +186,34 @@ async function load_model(checkpoint) {
185186
}
186187

187188
async function main() {
188-
const trajectory_x_offset_container = document.getElementById("reference-trajectory-offset-container")
189-
const trajectory_x_offset_slider = trajectory_x_offset_container.querySelector("input[type=range]")
190-
const trajectory_x_offset_label = trajectory_x_offset_container.querySelectorAll(".control-container-label")[1]
191-
trajectory_x_offset_slider.addEventListener("input", (event) => {
192-
trajectory_x_offset = parseFloat(event.target.value)
193-
trajectory_x_offset_label.textContent = trajectory_x_offset.toFixed(2)
189+
const trajectory_offset_container = document.getElementById("reference-trajectory-offset-container")
190+
const trajectory_offset_slider = trajectory_offset_container.querySelector("input[type=range]")
191+
const trajectory_offset_label = trajectory_offset_container.querySelectorAll(".control-container-label")[0]
192+
trajectory_offset_label.addEventListener("click", (event) => {
193+
switch(trajectory_offset_label.textContent){
194+
case "":
195+
trajectory_offset_label.textContent = "X Offset"
196+
trajectory_offset_axis = 0
197+
break;
198+
case "X Offset":
199+
trajectory_offset_label.textContent = "Y Offset"
200+
trajectory_offset_axis = 1
201+
break;
202+
case "Y Offset":
203+
trajectory_offset_label.textContent = "Z Offset"
204+
trajectory_offset_axis = 2
205+
break;
206+
case "Z Offset":
207+
trajectory_offset_label.textContent = "X Offset"
208+
trajectory_offset_axis = 0
209+
break;
210+
}
211+
})
212+
trajectory_offset_label.dispatchEvent(new Event("click"))
213+
const trajectory_offset_value = trajectory_offset_container.querySelectorAll(".control-container-label")[1]
214+
trajectory_offset_slider.addEventListener("input", (event) => {
215+
trajectory_offset = parseFloat(event.target.value)
216+
trajectory_offset_value.textContent = trajectory_offset.toFixed(2)
194217
})
195218
const trajectory_select = document.getElementById("reference-trajectory")
196219
const trajectories = { "Position": Position, "Lissajous": Lissajous, "Langevin": SecondOrderLangevin}

0 commit comments

Comments
 (0)