 								}
 								else if (simpleGeomIsLine)
 								{
-									distanceSq = ComputationalGeometryUtils.getUnscaledDistanceFromLine(
-										vertices[0].x, vertices[0].y, vertices[1].x, vertices[1].y,
-										xQueryCenter, yQueryCenter);
+									distanceSq = getMinimumUnscaledDistanceFromPolyLine(vertices, xQueryCenter, yQueryCenter);
 									if (distanceSq <= Number.MIN_VALUE)
 										overlapsQueryCenter = true;
 									else

						
						if (simpleGeomIsPoly)// a polygon, check for polygon overlap
						{
							if (ComputationalGeometryUtils.polygonOverlapsPolygon(_tempBoundsPolygon, _tempGeometryPolygon))
							{
								result.push(key);
								continue keyLoop;

		 */
		public function getKeysOverlappingBounds(bounds:IBounds2D, minImportance:Number = 0):Array
		{
			var keys:Array;
			// if this index isn't for an IPlotterWithGeometries OR the user wants legacy probing
			if (_keyToGeometriesMap == null || !Weave.properties.enableGeometryProbing.value == true)
				return getKeysOverlappingCollectiveBounds(bounds, 0);
			else			
				keys = getKeysOverlappingCollectiveBounds(bounds, minImportance);
			
			// if there are 0 keys
			if (keys.length == 0)
