Improved loader (no more freeze at end of loading)
This commit is contained in:
parent
77f7cd135b
commit
6b2d7ce8e7
|
@ -11,7 +11,10 @@
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1><center><img alt="" src="https://raw.githubusercontent.com/tforgione/3dinterface/master/403/working.gif"/></center>I'm working on it</h1>
|
<h1><center><img alt="" src="https://raw.githubusercontent.com/tforgione/3dinterface/master/403/working.gif"/></center>I'm working on it</h1>
|
||||||
<h3>Please try again in few minutes.</h3>
|
<h3>Please try again in few minutes.</h3>
|
||||||
|
<script>
|
||||||
|
setTimeout(function() {location.reload();}, 2000);
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -239,6 +239,8 @@ ProgressiveLoaderGeometry.prototype.initIOCallbacks = function() {
|
||||||
if (elt.type === 'vertex') {
|
if (elt.type === 'vertex') {
|
||||||
|
|
||||||
// New vertex arrived
|
// New vertex arrived
|
||||||
|
|
||||||
|
// Fill the array of vertices with null vector (to avoid undefined)
|
||||||
while (elt.index > self.vertices.length) {
|
while (elt.index > self.vertices.length) {
|
||||||
|
|
||||||
self.vertices.push(new THREE.Vector3());
|
self.vertices.push(new THREE.Vector3());
|
||||||
|
@ -308,6 +310,7 @@ ProgressiveLoaderGeometry.prototype.initIOCallbacks = function() {
|
||||||
|
|
||||||
// Create mesh
|
// Create mesh
|
||||||
var mesh = new THREE.Mesh(geometry, material);
|
var mesh = new THREE.Mesh(geometry, material);
|
||||||
|
mesh.faceNumber = elt.fLength;
|
||||||
self.meshes.push(mesh);
|
self.meshes.push(mesh);
|
||||||
|
|
||||||
self.currentMesh = mesh;
|
self.currentMesh = mesh;
|
||||||
|
@ -344,6 +347,13 @@ ProgressiveLoaderGeometry.prototype.initIOCallbacks = function() {
|
||||||
self.meshes[elt.mesh].geometry.normalsNeedUpdate = true;
|
self.meshes[elt.mesh].geometry.normalsNeedUpdate = true;
|
||||||
self.meshes[elt.mesh].geometry.groupsNeedUpdate = true;
|
self.meshes[elt.mesh].geometry.groupsNeedUpdate = true;
|
||||||
|
|
||||||
|
if (self.meshes[elt.mesh].faceNumber === self.meshes[elt.mesh].geometry.faces.length) {
|
||||||
|
|
||||||
|
self.meshes[elt.mesh].geometry.computeBoundingSphere();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -354,11 +364,6 @@ ProgressiveLoaderGeometry.prototype.initIOCallbacks = function() {
|
||||||
|
|
||||||
this.socket.on('disconnect', function() {
|
this.socket.on('disconnect', function() {
|
||||||
console.log('Finished !');
|
console.log('Finished !');
|
||||||
setTimeout(function() {
|
|
||||||
self.meshes.forEach(function(obj) {
|
|
||||||
obj.geometry.computeBoundingSphere();
|
|
||||||
});
|
|
||||||
}, 0);
|
|
||||||
self.finished = true;
|
self.finished = true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue