[OpenLayers-Commits] r11491 - in trunk/openlayers: lib/OpenLayers/BaseTypes tests/BaseTypes

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Fri Feb 25 08:35:03 EST 2011


Author: tschaub
Date: 2011-02-25 05:34:59 -0800 (Fri, 25 Feb 2011)
New Revision: 11491

Modified:
   trunk/openlayers/lib/OpenLayers/BaseTypes/Pixel.js
   trunk/openlayers/tests/BaseTypes/Pixel.html
Log:
Adding a distanceTo for pixels.  p=bbinet, r=me (closes #3119)

Modified: trunk/openlayers/lib/OpenLayers/BaseTypes/Pixel.js
===================================================================
--- trunk/openlayers/lib/OpenLayers/BaseTypes/Pixel.js	2011-02-25 13:34:00 UTC (rev 11490)
+++ trunk/openlayers/lib/OpenLayers/BaseTypes/Pixel.js	2011-02-25 13:34:59 UTC (rev 11491)
@@ -86,6 +86,24 @@
     },
 
     /**
+     * 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
      *
      * Parameters:

Modified: trunk/openlayers/tests/BaseTypes/Pixel.html
===================================================================
--- trunk/openlayers/tests/BaseTypes/Pixel.html	2011-02-25 13:34:00 UTC (rev 11490)
+++ trunk/openlayers/tests/BaseTypes/Pixel.html	2011-02-25 13:34:59 UTC (rev 11491)
@@ -40,11 +40,22 @@
         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) {
         t.plan( 5 );
         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)");
 
         px = new OpenLayers.Pixel(1,6);



More information about the Commits mailing list