aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-16 15:32:06 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-03-16 15:32:06 -0600
commitb2939f8173a84cc5e6f16230328185eed44f0982 (patch)
tree7f29a61be32a9ab2110f3f628480a86a762accf9 /tools
parentc5fc97504a9e46f0370587ae39f4b6e10615f813 (diff)
downloadlibsurvive-b2939f8173a84cc5e6f16230328185eed44f0982.tar.gz
libsurvive-b2939f8173a84cc5e6f16230328185eed44f0982.tar.bz2
Made viewer sync with data_recorder
Diffstat (limited to 'tools')
-rw-r--r--tools/viz/survive_viewer.js57
1 files changed, 32 insertions, 25 deletions
diff --git a/tools/viz/survive_viewer.js b/tools/viz/survive_viewer.js
index aaa0340..f7c6339 100644
--- a/tools/viz/survive_viewer.js
+++ b/tools/viz/survive_viewer.js
@@ -122,21 +122,23 @@ var sensorGeometry = new THREE.SphereGeometry(.01, 32, 16);
function create_object(info) {
var group = new THREE.Group();
-
- for (var idx in info.points) {
- var p = info.points[idx];
- var color = 0xFFFFFF; // / info.points.length * idx;
- if (idx == 10)
- color = 0x00ff00;
- if (idx == 12)
- color = 0x0000ff;
- var sensorMaterial = new THREE.MeshLambertMaterial({color : color});
- var newSensor = new THREE.Mesh(sensorGeometry, sensorMaterial);
- newSensor.position.set(p[0], p[1], p[2]);
-
- group.add(newSensor);
+ group.colors = [];
+ if (info.config && info.config.lighthouse_config) {
+ for (var idx in info.config.lighthouse_config.modelPoints) {
+ var p = info.config.lighthouse_config.modelPoints[idx];
+ var color = 0xFFFFFF; // / info.points.length * idx;
+ if (idx === 10)
+ color = 0x00ff00;
+ if (idx === 12)
+ color = 0x0000ff;
+ var sensorMaterial = new THREE.MeshLambertMaterial({color : color});
+ var newSensor = new THREE.Mesh(sensorGeometry, sensorMaterial);
+ newSensor.position.set(p[0], p[1], p[2]);
+
+ group.colors[idx] = sensorMaterial;
+ group.add(newSensor);
+ }
}
-
var axes = new THREE.AxesHelper(1);
group.add(axes);
@@ -154,21 +156,29 @@ $(function() {
"LH_POSE" : function(v) {
return {
type : "lighthouse_pose",
- lighthouse : parseInt(v[2]),
+ lighthouse : parseInt(v[1]),
position : [ parseFloat(v[3]), parseFloat(v[4]), parseFloat(v[5]) ],
quat : [ parseFloat(v[6]), parseFloat(v[7]), parseFloat(v[8]), parseFloat(v[9]) ]
};
},
"POSE" : function(v) {
return {
- type: "pose", tracker: v[2], position: [ parseFloat(v[3]), parseFloat(v[4]), parseFloat(v[5]) ],
+ type: "pose", tracker: v[1], position: [ parseFloat(v[3]), parseFloat(v[4]), parseFloat(v[5]) ],
quat: [ parseFloat(v[6]), parseFloat(v[7]), parseFloat(v[8]), parseFloat(v[9]) ]
}
+ },
+ "CONFIG" : function(v) {
+ var configStr = s.slice(3).join(' ');
+ var config = JSON.parse(configStr);
+
+ return { type: "htc_config", config: config }
+
}
};
- if (command_mappings[s[1]]) {
- var rtn = command_mappings[s[1]](s);
+ if (command_mappings[s[2]]) {
+ var rtn = command_mappings[s[2]](s);
rtn.time = parseFloat(s[0]);
+ rtn.tracker = s[1];
return rtn;
}
return {};
@@ -194,16 +204,13 @@ $(function() {
// console.log(obj);
if (obj.type === "pose") {
- if (!objs[obj.tracker]) {
- create_object(obj);
+ if (objs[obj.tracker]) {
+ objs[obj.tracker].position.set(obj.position[0], obj.position[1], obj.position[2]);
+ objs[obj.tracker].quaternion.set(obj.quat[1], obj.quat[2], obj.quat[3], obj.quat[0]);
}
-
- objs[obj.tracker].position.set(obj.position[0], obj.position[1], obj.position[2]);
- objs[obj.tracker].quaternion.set(obj.quat[1], obj.quat[2], obj.quat[3], obj.quat[0]);
-
} else if (obj.type === "lighthouse_pose") {
add_lighthouse(obj.lighthouse, obj.position, obj.quat);
- } else if (obj.type === "tracker_calibration") {
+ } else if (obj.type === "htc_config") {
create_object(obj);
} else if (obj.type === "imu") {
if (objs[obj.tracker]) {