aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-24 01:09:42 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-03-24 09:54:47 -0600
commit5339216719825ba8aac0ae6507014d4a8115890f (patch)
tree560d81ea6156d7180bf8dbd2876bf3344169814b /tools
parentef7f9229a23e3ade8c6b5c33cbfaa684b80909b2 (diff)
downloadlibsurvive-5339216719825ba8aac0ae6507014d4a8115890f.tar.gz
libsurvive-5339216719825ba8aac0ae6507014d4a8115890f.tar.bz2
Viz with chemtrails
Diffstat (limited to 'tools')
-rw-r--r--tools/viz/index.html1
-rw-r--r--tools/viz/survive_viewer.js31
2 files changed, 32 insertions, 0 deletions
diff --git a/tools/viz/index.html b/tools/viz/index.html
index b146b5d..0221b41 100644
--- a/tools/viz/index.html
+++ b/tools/viz/index.html
@@ -12,6 +12,7 @@
<body>
<div id="ThreeJS" style="z-index: 1; position: absolute; left:0px; top:0px"></div>
<div id="cam-control" style="z-index: 2;border:1px solid white;position:absolute">
+ <input type="checkbox" id="trails">Trails</input><br/>
<button id="toggleBtn">
Toggle 2D View
</button>
diff --git a/tools/viz/survive_viewer.js b/tools/viz/survive_viewer.js
index 0710c68..70aecfa 100644
--- a/tools/viz/survive_viewer.js
+++ b/tools/viz/survive_viewer.js
@@ -185,6 +185,29 @@ function create_tracked_object(info) {
scene.add(group);
}
+var trails;
+var MAX_LINE_POINTS = 1000;
+$(function() {
+ $("#trails").change(function() {
+ if (this.checked) {
+ var geometry = new THREE.Geometry();
+ var material = new THREE.LineBasicMaterial({color : 0x305ea8});
+
+ for (i = 0; i < MAX_LINE_POINTS; i++) {
+ geometry.vertices.push(new THREE.Vector3(0, 0, 0));
+ }
+ geometry.dynamic = true;
+
+ trails = new THREE.Line(geometry, material);
+
+ scene.add(trails);
+ } else {
+ if (trails)
+ scene.remove(trails);
+ }
+ });
+});
+
var survive_log_handlers = {
"LH_POSE" : function(v) {
var obj = {
@@ -214,6 +237,14 @@ var survive_log_handlers = {
objs[obj.tracker].quaternion.set(obj.quat[1], obj.quat[2], obj.quat[3], obj.quat[0]);
objs[obj.tracker].verticesNeedUpdate = true;
timecode[obj.tracker] = obj.timecode;
+
+ if (trails) {
+
+ trails.geometry.vertices.push(trails.geometry.vertices.shift()); // shift the array
+ trails.geometry.vertices[MAX_LINE_POINTS - 1] =
+ new THREE.Vector3(obj.position[0], obj.position[1], obj.position[2]);
+ trails.geometry.verticesNeedUpdate = true;
+ }
}
},
"CONFIG" : function(v, tracker) {