From 10442e4f70c8e95a01b4a24261f2c97493ddf1c3 Mon Sep 17 00:00:00 2001 From: Rob Hawkes Date: Sat, 1 Feb 2014 11:33:10 +0000 Subject: [PATCH] Tidied up Web Worker feature loading --- src/client/objects/BuildingManager.js | 1 + src/client/objects/ObjectManager.js | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/client/objects/BuildingManager.js b/src/client/objects/BuildingManager.js index 545cbe6..dfcd06b 100644 --- a/src/client/objects/BuildingManager.js +++ b/src/client/objects/BuildingManager.js @@ -10,6 +10,7 @@ VIZI.BuildingManager.prototype = Object.create( VIZI.ObjectManager.prototype ); + // TODO: Utilise this when loading via Web Workers (right now it's not being called anywhere) VIZI.BuildingManager.prototype.processFeature = function(feature) { switch (feature.type) { case "Feature": diff --git a/src/client/objects/ObjectManager.js b/src/client/objects/ObjectManager.js index 70f3487..3e85ef7 100644 --- a/src/client/objects/ObjectManager.js +++ b/src/client/objects/ObjectManager.js @@ -45,7 +45,6 @@ var startTime = Date.now(); worker.process(features).then(function(data) { - //worker.processDebug({}).then(function(data) { var timeToSend = data.startTime - startTime; var timeToArrive = Date.now() - data.timeSent; deferred.resolve({data: data, timeToArrive: timeToArrive, timeToSend: timeToSend}); @@ -61,6 +60,8 @@ // - Each worker processes features and passes a reference back using transferable objects // - Features are added to scene for each completed worker promise + // TODO: Move feature definition and render options into separate class (eg. BuildingManager and Building) + // - Right now, the generation of Three.js objects in this file is based on buildings // TODO: Should be possible if geo functionality can be performed before / after the worker task // TODO: Try and get rid of lock-up that occurs at beginning and end of worker process (possibly due to size of data being sent back and forth) // TODO: Build objects as BufferGeometry for very easy export and messaging out of worker @@ -112,7 +113,9 @@ var combinedGeom = new THREE.Geometry(); var count = 0; - + + // TODO: Work out how to put feature-specific object generation in here + // - eg. Buildings, rivers, roads, etc. _.each(features, function(feature) { var properties = feature.properties;