@@ -20,6 +20,8 @@ class Popup{
20
20
let sensorsCompatible = this . sensorsCompatible ;
21
21
this . usedSensor = undefined ;
22
22
let usedSensor = this . usedSensor ;
23
+ this . nodesOrServers = undefined ;
24
+ let nodesOrServers = this . nodesOrServers ;
23
25
24
26
/** UI */
25
27
window . addEventListener ( 'resize' , onWindowResize ) ;
@@ -454,6 +456,17 @@ class Popup{
454
456
document . getElementById ( "button-toggle-text" ) . innerHTML = text ;
455
457
} ) ;
456
458
459
+ document . getElementById ( "toggle-node-server" ) . addEventListener ( 'change' , ( ) => {
460
+ let bool = document . getElementById ( "toggle-node-server" ) . checked ;
461
+ let text ;
462
+ if ( bool ) {
463
+ text = "NODES" ;
464
+ } else {
465
+ text = "SERVERS" ;
466
+ }
467
+ document . getElementById ( "button-toggle-text-2" ) . innerHTML = text ;
468
+ } ) ;
469
+
457
470
function resetHardwareSection ( )
458
471
{
459
472
usedSensor = undefined ;
@@ -503,7 +516,7 @@ class Popup{
503
516
// sensorChoice.innerHTML = `
504
517
// <input id="` + s.textId + `" type="radio" name="sensor-choice" value="` + s.textId + `">
505
518
// <div class="row center-x center-y hardware-switch">
506
- // <p>` + s.niceName + ` (<span data-unit=` + sceneManager.currentUnit.value + `>` + near + `</span> - <span data-unit=` + sceneManager.currentUnit.value + `>` + far + `</span><span data-unittext=` + sceneManager.currentUnit.value + `>` + sceneManager.currentUnit.label +`</span>)</p>
519
+ // <p>` + s.name + ` (<span data-unit=` + sceneManager.currentUnit.value + `>` + near + `</span> - <span data-unit=` + sceneManager.currentUnit.value + `>` + far + `</span><span data-unittext=` + sceneManager.currentUnit.value + `>` + sceneManager.currentUnit.label +`</span>)</p>
507
520
// </div>`;
508
521
// sensorsDiv.appendChild(sensorChoice);
509
522
// });
@@ -519,7 +532,7 @@ class Popup{
519
532
520
533
const near = Math . floor ( s . rangeNear * sceneManager . currentUnit . value * 100 ) / 100 ;
521
534
const far = Math . floor ( ( trackingMode === 'hand-tracking' ? s . handFar : s . rangeFar ) * sceneManager . currentUnit . value * 100 ) / 100 ;
522
- sensorChoice . innerHTML = `<p>` + s . niceName + ` (<span data-unit=` + sceneManager . currentUnit . value + `>` + near + `</span> - <span data-unit=` + sceneManager . currentUnit . value + `>` + far + `</span><span data-unittext=` + sceneManager . currentUnit . value + `>` + sceneManager . currentUnit . label + `</span>)</p>` ;
535
+ sensorChoice . innerHTML = `<p>` + s . name + ` (<span data-unit=` + sceneManager . currentUnit . value + `>` + near + `</span> - <span data-unit=` + sceneManager . currentUnit . value + `>` + far + `</span><span data-unittext=` + sceneManager . currentUnit . value + `>` + sceneManager . currentUnit . label + `</span>)</p>` ;
523
536
sensorsDiv . appendChild ( sensorChoice ) ;
524
537
} ) ;
525
538
@@ -529,6 +542,11 @@ class Popup{
529
542
let sceneEnvironment = undefined ;
530
543
if ( sceneInfos ) {
531
544
sceneEnvironment = JSON . parse ( sceneInfos ) . sceneEnvironment ;
545
+ if ( sceneEnvironment === 'outdoor' ) {
546
+ document . getElementById ( "button-toggle-text" ) . innerHTML = "OUTDOOR" ;
547
+ } else {
548
+ document . getElementById ( "button-toggle-text" ) . innerHTML = "INDOOR" ;
549
+ }
532
550
} else {
533
551
//New hardware selection system
534
552
const toggleElem = document . getElementById ( "toggle-outdoor-indoor" ) ;
@@ -540,6 +558,15 @@ class Popup{
540
558
disableSensorsConsideringEnvironment ( sceneEnvironment ) ;
541
559
}
542
560
561
+ const toggleElemNodeServer = document . getElementById ( "toggle-node-server" ) ;
562
+ if ( toggleElemNodeServer . checked ) {
563
+ nodesOrServers = 'nodes' ;
564
+ document . getElementById ( "button-toggle-text-2" ) . innerHTML = "NODES" ;
565
+ } else {
566
+ nodesOrServers = 'servers' ;
567
+ document . getElementById ( "button-toggle-text-2" ) . innerHTML = "SERVERS" ;
568
+ }
569
+ disableSensorsConsideringNodesAndServers ( nodesOrServers )
543
570
544
571
//Old system
545
572
// const switchElement = document.getElementById('hardware-switch-indoor-outdoor');
@@ -558,10 +585,10 @@ class Popup{
558
585
function bindHardwareEventListeners ( sensorsElements )
559
586
{
560
587
//New toggle indoor-outoor events
561
- const toggleElem = document . getElementById ( "toggle-outdoor-indoor" ) ;
562
- toggleElem . addEventListener ( 'change' , ( ) => {
588
+ const toggleElemOutIn = document . getElementById ( "toggle-outdoor-indoor" ) ;
589
+ toggleElemOutIn . addEventListener ( 'change' , ( ) => {
563
590
let sceneEnvironment ;
564
- if ( toggleElem . checked ) {
591
+ if ( toggleElemOutIn . checked ) {
565
592
sceneEnvironment = 'outdoor'
566
593
} else {
567
594
sceneEnvironment = 'indoor'
@@ -570,6 +597,18 @@ class Popup{
570
597
sceneManager . changeEnvironment ( sceneEnvironment ) ;
571
598
} ) ;
572
599
600
+ //New toggle node-server events
601
+ // TODO
602
+ const toggleElemNodSer = document . getElementById ( "toggle-node-server" ) ;
603
+ toggleElemNodSer . addEventListener ( 'change' , ( ) => {
604
+ if ( toggleElemNodSer . checked ) {
605
+ nodesOrServers = "nodes"
606
+ } else {
607
+ nodesOrServers = "servers"
608
+ }
609
+ disableSensorsConsideringNodesAndServers ( nodesOrServers )
610
+ } )
611
+
573
612
// OLD Switch indoor-outdoor events
574
613
// const switchElement = document.getElementById('hardware-switch-indoor-outdoor');
575
614
// const switchInputs = switchElement.querySelectorAll('input');
@@ -638,38 +677,38 @@ class Popup{
638
677
639
678
function createSceneFromSelectedSensor ( ) {
640
679
const sensorTextId = document . getElementById ( "multi-select-sensors" ) . value ;
641
- //on click on a sensor, display the scene calculated with this sensor
642
- switch ( trackingMode )
643
- {
644
- case 'wall-tracking' :
645
- {
646
- const sensor = getLidarsTypes ( ) . find ( sensorType => sensorType . textId === sensorTextId ) ;
647
- const config = calculateLidarConfig ( sensor , givenWidth , givenHeight ) ;
648
- if ( ! config ) {
649
- console . error ( 'no config found with this setup' ) ;
650
- return ;
651
- }
652
- sceneManager . objects . removeSensors ( ) ;
653
- createSceneFromLidarConfig ( config , sceneManager ) ;
654
- break ;
655
- }
656
- case 'human-tracking' :
657
- case 'hand-tracking' :
658
- {
659
- const sensor = getCamerasTypes ( ) . find ( sensorType => sensorType . textId === sensorTextId ) ;
660
- const overlapHeightDetection = trackingMode === 'human-tracking' ? heightDetected : SceneManager . HAND_TRACKING_OVERLAP_HEIGHT ;
661
- const config = calculateCameraConfig ( trackingMode , sensor , givenWidth , givenLength , givenHeight , overlapHeightDetection ) ;
662
- if ( ! config ) {
663
- console . error ( 'no config found with this setup' ) ;
664
- return ;
665
- }
666
- sceneManager . objects . removeSensors ( ) ;
667
- createSceneFromCameraConfig ( config , trackingMode , givenWidth , givenLength , givenHeight + sceneManager . sceneElevation , sceneManager ) ;
668
- break ;
669
- }
670
- default :
671
- break ;
680
+ //on click on a sensor, display the scene calculated with this sensor
681
+ switch ( trackingMode )
682
+ {
683
+ case 'wall-tracking' :
684
+ {
685
+ const sensor = getLidarsTypes ( ) . find ( sensorType => sensorType . textId === sensorTextId ) ;
686
+ const config = calculateLidarConfig ( sensor , givenWidth , givenHeight ) ;
687
+ if ( ! config ) {
688
+ console . error ( 'no config found with this setup' ) ;
689
+ return ;
672
690
}
691
+ sceneManager . objects . removeSensors ( ) ;
692
+ createSceneFromLidarConfig ( config , sceneManager ) ;
693
+ break ;
694
+ }
695
+ case 'human-tracking' :
696
+ case 'hand-tracking' :
697
+ {
698
+ const sensor = getCamerasTypes ( ) . find ( sensorType => sensorType . textId === sensorTextId ) ;
699
+ const overlapHeightDetection = trackingMode === 'human-tracking' ? heightDetected : SceneManager . HAND_TRACKING_OVERLAP_HEIGHT ;
700
+ const config = calculateCameraConfig ( trackingMode , sensor , givenWidth , givenLength , givenHeight , overlapHeightDetection ) ;
701
+ if ( ! config ) {
702
+ console . error ( 'no config found with this setup' ) ;
703
+ return ;
704
+ }
705
+ sceneManager . objects . removeSensors ( ) ;
706
+ createSceneFromCameraConfig ( config , trackingMode , givenWidth , givenLength , givenHeight + sceneManager . sceneElevation , sceneManager ) ;
707
+ break ;
708
+ }
709
+ default :
710
+ break ;
711
+ }
673
712
}
674
713
675
714
function disableSensorsConsideringEnvironment ( environment )
@@ -709,6 +748,20 @@ class Popup{
709
748
}
710
749
}
711
750
751
+ //New function
752
+ function disableSensorsConsideringNodesAndServers ( nodesOrServers )
753
+ {
754
+ //TODO
755
+ sensorsCompatible . forEach ( s => {
756
+ if ( s . usedWith . includes ( nodesOrServers ) ) {
757
+ document . getElementById ( s . textId ) . classList . remove ( "hidden" ) ;
758
+ }
759
+ else {
760
+ document . getElementById ( s . textId ) . classList . add ( "hidden" )
761
+ }
762
+ } ) ;
763
+ }
764
+
712
765
function selectFirstSensorAvailable ( )
713
766
{
714
767
const sensorsDiv = document . getElementById ( 'multi-select-sensors' ) ;
@@ -866,7 +919,7 @@ class Popup{
866
919
}
867
920
868
921
const sensorInfo = document . createElement ( 'p' ) ;
869
- sensorInfo . innerHTML = `x` + nbSensors + ` ` + usedSensor . niceName ;
922
+ sensorInfo . innerHTML = `x` + nbSensors + ` ` + usedSensor . name ;
870
923
recapDiv . appendChild ( sensorInfo ) ;
871
924
872
925
usedSensor . accessories . forEach ( a => {
0 commit comments