Add transform2D to ol.geom.SimpleGeometry

This commit is contained in:
Tim Schaub
2016-08-12 07:27:47 -06:00
parent 9d276982b5
commit a27d0da8a5
3 changed files with 5 additions and 3 deletions

View File

@@ -323,7 +323,7 @@ ol.geom.SimpleGeometry.prototype.translate = function(deltaX, deltaY) {
* @param {Array.<number>=} opt_dest Destination. * @param {Array.<number>=} opt_dest Destination.
* @return {Array.<number>} Transformed flat coordinates. * @return {Array.<number>} Transformed flat coordinates.
*/ */
ol.geom.transformSimpleGeometry2D = function(simpleGeometry, transform, opt_dest) { ol.geom.SimpleGeometry.transform2D = function(simpleGeometry, transform, opt_dest) {
var flatCoordinates = simpleGeometry.getFlatCoordinates(); var flatCoordinates = simpleGeometry.getFlatCoordinates();
if (!flatCoordinates) { if (!flatCoordinates) {
return null; return null;

View File

@@ -10,6 +10,7 @@ goog.require('ol.color');
goog.require('ol.colorlike'); goog.require('ol.colorlike');
goog.require('ol.extent'); goog.require('ol.extent');
goog.require('ol.geom.GeometryType'); goog.require('ol.geom.GeometryType');
goog.require('ol.geom.SimpleGeometry');
goog.require('ol.geom.flat.transform'); goog.require('ol.geom.flat.transform');
goog.require('ol.has'); goog.require('ol.has');
goog.require('ol.render.VectorContext'); goog.require('ol.render.VectorContext');
@@ -406,7 +407,7 @@ ol.render.canvas.Immediate.prototype.drawCircle = function(geometry) {
if (this.strokeState_) { if (this.strokeState_) {
this.setContextStrokeState_(this.strokeState_); this.setContextStrokeState_(this.strokeState_);
} }
var pixelCoordinates = ol.geom.transformSimpleGeometry2D( var pixelCoordinates = ol.geom.SimpleGeometry.transform2D(
geometry, this.transform_, this.pixelCoordinates_); geometry, this.transform_, this.pixelCoordinates_);
var dx = pixelCoordinates[2] - pixelCoordinates[0]; var dx = pixelCoordinates[2] - pixelCoordinates[0];
var dy = pixelCoordinates[3] - pixelCoordinates[1]; var dy = pixelCoordinates[3] - pixelCoordinates[1];

View File

@@ -1,6 +1,7 @@
goog.provide('ol.test.geom.flat.transform'); goog.provide('ol.test.geom.flat.transform');
goog.require('ol.geom.MultiPolygon'); goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.SimpleGeometry');
goog.require('ol.geom.flat.transform'); goog.require('ol.geom.flat.transform');
@@ -32,7 +33,7 @@ describe('ol.geom.flat.transform', function() {
0, -0.0004088332670837288, 0, -0.0004088332670837288,
4480.991370439071, 1529.5752568707105 4480.991370439071, 1529.5752568707105
]; ];
var pixelCoordinates = ol.geom.transformSimpleGeometry2D( var pixelCoordinates = ol.geom.SimpleGeometry.transform2D(
multiPolygonGeometry, transform, []); multiPolygonGeometry, transform, []);
expect(pixelCoordinates[0]).to.roughlyEqual(806.6035275946265, 1e-9); expect(pixelCoordinates[0]).to.roughlyEqual(806.6035275946265, 1e-9);
expect(pixelCoordinates[1]).to.roughlyEqual(160.48916296287916, 1e-9); expect(pixelCoordinates[1]).to.roughlyEqual(160.48916296287916, 1e-9);