@@ -18,7 +18,7 @@ window.onload = function() {
18
18
path . genPoints ( precision , 10 ) ;
19
19
20
20
// draw path every x seconds
21
- setInterval ( render , 1000 / 60 ) ;
21
+ intervalId = setInterval ( render , 1000 / fps ) ;
22
22
} ;
23
23
24
24
@@ -495,6 +495,10 @@ modeBtn.onclick = function() {
495
495
const cols2 = document . getElementsByClassName ( 'debugContainer' ) ;
496
496
if ( cols [ 0 ] . style . display === 'none' ) {
497
497
mode = 0 ;
498
+ // set the interval on the render function
499
+ debugRun = false ;
500
+ clearInterval ( intervalId ) ;
501
+ intervalId = setInterval ( render , 1000 / fps ) ;
498
502
// show create mode sliders
499
503
for ( i = 0 ; i < cols . length ; i ++ ) {
500
504
cols [ i ] . style . display = 'flex' ;
@@ -505,6 +509,10 @@ modeBtn.onclick = function() {
505
509
}
506
510
} else {
507
511
mode = 1 ;
512
+ // clear the interval on render
513
+ clearInterval ( intervalId ) ;
514
+ // run the render function once
515
+ render ( ) ;
508
516
// hide create mode sliders
509
517
for ( i = 0 ; i < cols . length ; i ++ ) {
510
518
cols [ i ] . style . display = 'none' ;
@@ -515,3 +523,37 @@ modeBtn.onclick = function() {
515
523
}
516
524
}
517
525
} ;
526
+
527
+
528
+ /**
529
+ * @brief rewind button pressed
530
+ */
531
+ rewindBtn . onclick = function ( ) {
532
+ if ( debugDataTime > 0 ) {
533
+ debugDataTime -- ;
534
+ }
535
+ } ;
536
+
537
+
538
+ /**
539
+ * @brief pause/play button pressed
540
+ */
541
+ pauseBtn . onclick = function ( ) {
542
+ debugRun = ! debugRun ;
543
+ if ( debugRun == true ) {
544
+ clearInterval ( intervalId ) ;
545
+ intervalId = setInterval ( render , 10 ) ;
546
+ } else {
547
+ clearInterval ( intervalId ) ;
548
+ }
549
+ } ;
550
+
551
+
552
+ /**
553
+ * @brief fast forward button pressed
554
+ */
555
+ forwardBtn . onclick = function ( ) {
556
+ if ( debugDataTime < debugDataList . length - 1 ) {
557
+ debugDataTime ++ ;
558
+ }
559
+ } ;
0 commit comments