MCPcopy Create free account
hub / github.com/PeterFWS/Structure-PLP-SLAM / updateMapElements

Function updateMapElements

viewer/public/js/main.js:293–345  ·  view source on GitHub ↗
(msgSize, keyframes, edges, points, referencePointIds, currentFramePose)

Source from the content-addressed store, hash-verified

291}
292
293function updateMapElements(msgSize, keyframes, edges, points, referencePointIds, currentFramePose) {
294 trackStats.update();
295 cameraFrames.updateCurrentFrame(currentFramePose);
296 viewControls.setCurrentIntrinsic(currentFramePose);
297
298 if (cameraFrames.numValidKeyframe == 0 && keyframes.length == 0) {
299 return;
300 }
301
302 for (let point of points) {
303 let id = point["id"];
304 if (point["point_pos"] == undefined) {
305 pointCloud.removePoint(id);
306 }
307 else {
308 let x = point["point_pos"][0] * GLOBAL_SCALE;
309 let y = point["point_pos"][1] * GLOBAL_SCALE;
310 let z = point["point_pos"][2] * GLOBAL_SCALE;
311 let r = point["rgb"][0];
312 let g = point["rgb"][1];
313 let b = point["rgb"][2];
314 pointCloud.updatePoint(id, x, y, z, r, g, b);
315 }
316 }
317 for (let keyframe of keyframes) {
318 let id = keyframe["id"];
319 if (keyframe["camera_pose"] == undefined) {
320 cameraFrames.removeKeyframe(id);
321 }
322 else {
323 cameraFrames.updateKeyframe(id, keyframe["camera_pose"]);
324 }
325 }
326 cameraFrames.setEdges(edges);
327
328
329 let currentMillis = new Date().getTime();
330 if (receiveTimestamp != 0) {
331 let dt = currentMillis - receiveTimestamp;
332 if (dt < 2) dt = 2;
333 let fps = 1000.0 / dt;
334 // adaptive update rate
335 //viewControls.updateSmoothness(fps);
336 console.log((" " + parseInt(msgSize / 1000)).substr(-6) + " KB"
337 + (" " + (fps).toFixed(1)).substr(-7) + " fps, "
338 + (" " + pointCloud.nValidPoint).substr(-6) + " pts, "
339 + (" " + cameraFrames.numValidKeyframe).substr(-6) + " kfs");
340 }
341 receiveTimestamp = currentMillis;
342
343 pointCloud.colorizeReferencePoints(referencePointIds);
344
345}
346
347function removeAllElements() {
348 for (let id in pointCloud.vertexIds) {

Callers 1

receiveProtobufFunction · 0.85

Calls 10

updateCurrentFrameMethod · 0.80
setCurrentIntrinsicMethod · 0.80
removePointMethod · 0.80
updatePointMethod · 0.80
removeKeyframeMethod · 0.80
updateKeyframeMethod · 0.80
setEdgesMethod · 0.80
updateMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected