Skip to content

Commit a88b32e

Browse files
committed
Remove single sensor button
1 parent aaf69ab commit a88b32e

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

js/UI/LidarUI.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class LidarUI{
3030
<div id="lidar-` + (lidar.id) + `-hide-UI"><span class="iconify" data-icon="bx:minus"></span></div>
3131
<div id="lidar-` + (lidar.id) + `-visible"><span class="iconify" data-icon="akar-icons:eye-open"></span></div>
3232
<!-- <div><span class="iconify" data-icon="fluent:lock-open-16-regular"></span></div> -->
33+
<div id="lidar-` + (lidar.id) + `-delete"><span class="iconify" data-icon="fluent:delete-16-filled"></span></div>
3334
</div>
3435
</div>
3536
<div id="lidar-infos-` + (lidar.id) + `-UI" class="column sections-container space-y">
@@ -79,6 +80,7 @@ class LidarUI{
7980

8081
document.getElementById('lidar-' + (lidar.id) + '-hide-UI').addEventListener('click', () => hideUILidar());
8182
document.getElementById('lidar-' + (lidar.id) + '-visible').addEventListener('click', () => lidar.changeVisibility());
83+
document.getElementById('lidar-' + (lidar.id) + '-delete').addEventListener('click', () => sceneManager.objects.removeLidar(lidar));
8284

8385
document.getElementById('lidar-type-' + lidar.id).addEventListener('change', () => changeLidarType());
8486
}
@@ -247,7 +249,9 @@ class LidarUI{
247249

248250
this.dispose = function()
249251
{
250-
document.getElementById('lidar-' + lidar.id + '-UI').remove();
252+
let lidarUI = document.getElementById('lidar-' + lidar.id + '-UI');
253+
//Check if wasn't removed singularly yet
254+
if(lidarUI) lidarUI.remove();
251255
}
252256
}
253257
}

js/UI/NodeUI.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class NodeUI{
3333
<div id="node-` + (node.id) + `-hide-UI"><span class="iconify" data-icon="bx:minus"></span></div>
3434
<div id="node-` + (node.id) + `-visible"><span class="iconify" data-icon="akar-icons:eye-open"></span></div>
3535
<!-- <div><span class="iconify" data-icon="fluent:lock-open-16-regular"></span></div> -->
36+
<div id="node-` + (node.id) + `-delete"><span class="iconify" data-icon="fluent:delete-16-filled"></span></div>
3637
</div>
3738
</div>
3839
<div id="node-infos-` + (node.id) + `-UI" class="column sections-container space-y">
@@ -98,6 +99,7 @@ class NodeUI{
9899

99100
document.getElementById('node-' + (node.id) + '-hide-UI').addEventListener('click', () => hideUICam());
100101
document.getElementById('node-' + (node.id) + '-visible').addEventListener('click', () => node.changeVisibility());
102+
document.getElementById('node-' + (node.id) + '-delete').addEventListener('click', () => sceneManager.objects.removeNode(node))
101103

102104
document.getElementById('cam-type-' + node.id).addEventListener('change', () => changeCameraType());
103105
}
@@ -286,7 +288,9 @@ class NodeUI{
286288

287289
this.dispose = function()
288290
{
289-
document.getElementById('node-' + node.id + '-UI').remove();
291+
let nodeUI = document.getElementById('node-' + node.id + '-UI');
292+
//Check if wasn't removed singularly yet
293+
if(nodeUI) nodeUI.remove();
290294
}
291295
}
292296
}

js/scene/objects/SceneObjects.js

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ class SceneObjects{
2424

2525
constructor(sceneManager, isBuilder)
2626
{
27-
const nodes = [];
28-
const lidars = [];
29-
const dummies = [];
27+
let nodes = [];
28+
let lidars = [];
29+
let dummies = [];
3030
this.nodeMeshes = [];
3131
this.lidarsMeshes = [];
3232
this.dummiesMeshes = [];
@@ -197,6 +197,15 @@ class SceneObjects{
197197
this.populateStorage();
198198
}
199199

200+
this.removeNode = function(node)
201+
{
202+
this.deleteObject(node);
203+
nodes = nodes.filter(n => n != node);
204+
this.nodeMeshes = this.nodeMeshes.filter(nm => nm != node.mesh)
205+
206+
this.populateStorage();
207+
}
208+
200209
this.addLidar = function(autoConstruct = false, typeID = Lidar.DEFAULT_LIDAR_TYPE_ID, x = 0, z = Lidar.DEFAULT_LIDAR_HEIGHT, r = 0)
201210
{
202211
if(!SceneObjects.font)
@@ -254,6 +263,14 @@ class SceneObjects{
254263
this.populateStorage();
255264
}
256265

266+
this.removeLidar = function(lidar)
267+
{
268+
this.deleteObject(lidar);
269+
lidars = lidars.filter(l => l != lidar)
270+
this.lidarsMeshes = this.lidarsMeshes.filter(lm => lm != lidar.mesh)
271+
272+
this.populateStorage();
273+
}
257274

258275
this.removeSensors = function()
259276
{

0 commit comments

Comments
 (0)