lib/leaflet.js
function () {
		var bounds = this._renderer._bounds;

		this._parts = [];
		if (!this._pxBounds || !this._pxBounds.intersects(bounds)) {
			return;
		}

		if (this.options.noClip) {
			this._parts = this._rings;
			return;
		}

		var parts = this._parts,
		    i, j, k, len, len2, segment, points;

		for (i = 0, k = 0, len = this._rings.length; i < len; i++) {
			points = this._rings[i];

			for (j = 0, len2 = points.length; j < len2 - 1; j++) {
				segment = L.LineUtil.clipSegment(points[j], points[j + 1], bounds, j, true);

				if (!segment) { continue; }

				parts[k] = parts[k] || [];
				parts[k].push(segment[0]);

				// if segment goes out of screen, or it's the last one, it's the end of the line part
				if ((segment[1] !== points[j + 1]) || (j === len2 - 2)) {
					parts[k].push(segment[1]);
					k++;
				}
			}
		}
	}
function () {
		var bounds = this._renderer._bounds;

		this._parts = [];
		if (!this._pxBounds || !this._pxBounds.intersects(bounds)) {
			return;
		}

		if (this.options.noClip) {
			this._parts = this._rings;
			return;
		}

		var parts = this._parts,
		    i, j, k, len, len2, segment, points;

		for (i = 0, k = 0, len = this._rings.length; i < len; i++) {
			points = this._rings[i];

			for (j = 0, len2 = points.length; j < len2 - 1; j++) {
				segment = L.LineUtil.clipSegment(points[j], points[j + 1], bounds, j, true);

				if (!segment) { continue; }

				parts[k] = parts[k] || [];
				parts[k].push(segment[0]);

				// if segment goes out of screen, or it's the last one, it's the end of the line part
				if ((segment[1] !== points[j + 1]) || (j === len2 - 2)) {
					parts[k].push(segment[1]);
					k++;
				}
			}
		}
	}
function ( ) { var bounds = this . _renderer . _bounds ; this . _parts = [ ] ; if ( ! this . _pxBounds || ! this . _pxBounds . intersects ( bounds ) ) { return ; } if ( this . options . noClip ) { this . _parts = this . _rings ; return ; } var parts = this . _parts , i , j , k , len , len2 , segment , points ; for ( i = 0 , k = 0 , len = this . _rings . length ; i < len ; i ++ ) { points = this . _rings [ i ] ; for ( j = 0 , len2 = points . length ; j < len2 - 1 ; j ++ ) { segment = L . LineUtil . clipSegment ( points [ j ] , points [ j + 1 ] , bounds , j , true ) ; if ( ! segment ) { continue ; } parts [ k ] = parts [ k ] || [ ] ; parts [ k ] . push ( segment [ 0 ] ) ; // if segment goes out of screen, or it's the last one, it's the end of the line part if ( ( segment [ 1 ] !== points [ j + 1 ] ) || ( j === len2 - 2 ) ) { parts [ k ] . push ( segment [ 1 ] ) ; k ++ ; } } } }
clip polyline by renderer bounds so that we have less to render for performance
clip polyline by renderer bounds so that we have less to render for performance