Use ol.vec.Mat4.makeTransform2D in ol.renderer.dom.TileLayer

This commit is contained in:
Tom Payne
2013-12-01 21:23:03 +01:00
parent 432a8d2e19
commit 6b96cf4ed5

View File

@@ -21,6 +21,7 @@ goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.renderer.dom.Layer');
goog.require('ol.tilegrid.TileGrid');
goog.require('ol.vec.Mat4');
@@ -207,17 +208,13 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
}
resolution = tileLayerZ.getResolution();
origin = tileLayerZ.getOrigin();
goog.vec.Mat4.makeIdentity(transform);
goog.vec.Mat4.translate(
transform, frameState.size[0] / 2, frameState.size[1] / 2, 0);
goog.vec.Mat4.rotateZ(transform, view2DState.rotation);
goog.vec.Mat4.scale(transform, resolution / view2DState.resolution,
resolution / view2DState.resolution, 1);
goog.vec.Mat4.translate(
transform,
ol.vec.Mat4.makeTransform2D(transform,
frameState.size[0] / 2, frameState.size[1] / 2,
resolution / view2DState.resolution,
resolution / view2DState.resolution,
view2DState.rotation,
(origin[0] - center[0]) / resolution,
(center[1] - origin[1]) / resolution,
0);
(center[1] - origin[1]) / resolution);
tileLayerZ.setTransform(transform);
if (tileLayerZKey in newTileLayerZKeys) {
for (j = tileLayerZKey - 1; j >= 0; --j) {