Adding a distanceTo for pixels. p=bbinet, r=me (closes #3119)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11491 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -85,6 +85,24 @@ OpenLayers.Pixel = OpenLayers.Class({
|
|||||||
return equals;
|
return equals;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* APIMethod: distanceTo
|
||||||
|
* Returns the distance to the pixel point passed in as a parameter.
|
||||||
|
*
|
||||||
|
* Parameters:
|
||||||
|
* px - {<OpenLayers.Pixel>}
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
* {Float} The pixel point passed in as parameter to calculate the
|
||||||
|
* distance to.
|
||||||
|
*/
|
||||||
|
distanceTo:function(px) {
|
||||||
|
return Math.sqrt(
|
||||||
|
Math.pow(this.x - px.x, 2) +
|
||||||
|
Math.pow(this.y - px.y, 2)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIMethod: add
|
* APIMethod: add
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -40,11 +40,22 @@
|
|||||||
t.eq( pixel.x, 5, "changing oldPixel.x doesn't change pixel.x");
|
t.eq( pixel.x, 5, "changing oldPixel.x doesn't change pixel.x");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_Pixel_distanceTo(t) {
|
||||||
|
t.plan( 2 );
|
||||||
|
var px = new OpenLayers.Pixel(0,-2);
|
||||||
|
pixel = new OpenLayers.Pixel(0,0);
|
||||||
|
t.eq( pixel.distanceTo(px), 2, "(0,0) distanceTo (0,-2) = 2");
|
||||||
|
|
||||||
|
px = new OpenLayers.Pixel(-4,6);
|
||||||
|
pixel = new OpenLayers.Pixel(4,6);
|
||||||
|
t.eq( pixel.distanceTo(px), 8, "(4,6) distanceTo (-4,6) = 8");
|
||||||
|
}
|
||||||
|
|
||||||
function test_Pixel_equals(t) {
|
function test_Pixel_equals(t) {
|
||||||
t.plan( 5 );
|
t.plan( 5 );
|
||||||
pixel = new OpenLayers.Pixel(5,6);
|
pixel = new OpenLayers.Pixel(5,6);
|
||||||
|
|
||||||
px = new OpenLayers.Pixel(5,6);
|
var px = new OpenLayers.Pixel(5,6);
|
||||||
t.eq( pixel.equals(px), true, "(5,6) equals (5,6)");
|
t.eq( pixel.equals(px), true, "(5,6) equals (5,6)");
|
||||||
|
|
||||||
px = new OpenLayers.Pixel(1,6);
|
px = new OpenLayers.Pixel(1,6);
|
||||||
|
|||||||
Reference in New Issue
Block a user