 							}
 							else // point
 							{
-								if (ComputationalGeometryUtils.polygonOverlapsPoint(_tempBoundsPolygon, part[0].x, part[0].y))
+								if (polygonOverlapsPolyPoint(_tempBoundsPolygon, part))
 								{
 									result.push(key);
 									continue keyLoop;

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

									}
									else if (genGeomIsPoint)
									{
										distanceSq = getMinimumUnscaledDistanceFromPolyPoint(part, xQueryCenter, yQueryCenter);
										if (distanceSq <= Number.MIN_VALUE)
											overlapsQueryCenter = true;
										else 
