kopia lustrzana https://github.com/robhawkes/vizicities
Force update after manual control change
rodzic
78b7704895
commit
cee426ed95
|
@ -132,9 +132,9 @@ class World extends EventEmitter {
|
||||||
window.requestAnimationFrame(this._update.bind(this));
|
window.requestAnimationFrame(this._update.bind(this));
|
||||||
|
|
||||||
// Update controls
|
// Update controls
|
||||||
this._controls.forEach(controls => {
|
// this._controls.forEach(controls => {
|
||||||
controls.update(delta);
|
// controls.update(delta);
|
||||||
});
|
// });
|
||||||
|
|
||||||
this.emit('preUpdate', delta);
|
this.emit('preUpdate', delta);
|
||||||
this._engine.update(delta);
|
this._engine.update(delta);
|
||||||
|
|
|
@ -39,10 +39,16 @@ class Orbit extends EventEmitter {
|
||||||
|
|
||||||
controls.panLeft(-deltaX, controls.object.matrix);
|
controls.panLeft(-deltaX, controls.object.matrix);
|
||||||
controls.panUp(-deltaY, controls.object.matrix);
|
controls.panUp(-deltaY, controls.object.matrix);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
panBy(pointDelta, animate) {
|
panBy(pointDelta, animate) {
|
||||||
this._controls.pan(-pointDelta.x, pointDelta.y);
|
this._controls.pan(-pointDelta.x, pointDelta.y);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Zooming the camera in and out
|
// Zooming the camera in and out
|
||||||
|
@ -55,6 +61,9 @@ class Orbit extends EventEmitter {
|
||||||
} else {
|
} else {
|
||||||
controls.dollyOut(metresDelta);
|
controls.dollyOut(metresDelta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force camera to look at something other than the target
|
// Force camera to look at something other than the target
|
||||||
|
@ -71,11 +80,17 @@ class Orbit extends EventEmitter {
|
||||||
var theta = controls.getPolarAngle();
|
var theta = controls.getPolarAngle();
|
||||||
var delta = angle - theta;
|
var delta = angle - theta;
|
||||||
controls.rotateUp(-delta);
|
controls.rotateUp(-delta);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
tiltBy(angleDelta, animate) {
|
tiltBy(angleDelta, animate) {
|
||||||
var controls = this._controls;
|
var controls = this._controls;
|
||||||
controls.rotateUp(-angleDelta);
|
controls.rotateUp(-angleDelta);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rotate (left and right)
|
// Rotate (left and right)
|
||||||
|
@ -85,12 +100,18 @@ class Orbit extends EventEmitter {
|
||||||
var theta = controls.getAzimuthalAngle();
|
var theta = controls.getAzimuthalAngle();
|
||||||
var delta = angle - theta;
|
var delta = angle - theta;
|
||||||
controls.rotateLeft(-delta);
|
controls.rotateLeft(-delta);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Right is positive, left negative
|
// Right is positive, left negative
|
||||||
rotateBy(angleDelta, animate) {
|
rotateBy(angleDelta, animate) {
|
||||||
var controls = this._controls;
|
var controls = this._controls;
|
||||||
controls.rotateLeft(-angleDelta);
|
controls.rotateLeft(-angleDelta);
|
||||||
|
|
||||||
|
this.update();
|
||||||
|
this._world.emit('controlsMoveEnd', this._controls.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fly to the given point, animating pan and tilt/rotation to final position
|
// Fly to the given point, animating pan and tilt/rotation to final position
|
||||||
|
|
Ładowanie…
Reference in New Issue