Spaces:
Running
Running
| /** | |
| * @class L.Polygon | |
| * @aka Polygon | |
| */ | |
| L.Polygon.include({ | |
| // @method intersects(): boolean | |
| // Checks a polygon for any intersecting line segments. Ignores holes. | |
| intersects: function () { | |
| var polylineIntersects, | |
| points = this._getProjectedPoints(), | |
| len, firstPoint, lastPoint, maxIndex; | |
| if (this._tooFewPointsForIntersection()) { | |
| return false; | |
| } | |
| polylineIntersects = L.Polyline.prototype.intersects.call(this); | |
| // If already found an intersection don't need to check for any more. | |
| if (polylineIntersects) { | |
| return true; | |
| } | |
| len = points.length; | |
| firstPoint = points[0]; | |
| lastPoint = points[len - 1]; | |
| maxIndex = len - 2; | |
| // Check the line segment between last and first point. Don't need to check the first line segment (minIndex = 1) | |
| return this._lineSegmentsIntersectsRange(lastPoint, firstPoint, maxIndex, 1); | |
| } | |
| }); | |