Caching array length instead of accessing it with each iteration. r=crschmidt (closes #1636)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7627 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -74,7 +74,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
clone: function() {
|
||||
var geometry = eval("new " + this.CLASS_NAME + "()");
|
||||
for(var i=0; i<this.components.length; i++) {
|
||||
for(var i=0, len=this.components.length; i<len; i++) {
|
||||
geometry.addComponent(this.components[i].clone());
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
getComponentsString: function(){
|
||||
var strings = [];
|
||||
for(var i = 0; i < this.components.length; i++) {
|
||||
for(var i=0, len=this.components.length; i<len; i++) {
|
||||
strings.push(this.components[i].toShortString());
|
||||
}
|
||||
return strings.join(",");
|
||||
@@ -108,7 +108,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
this.bounds = null;
|
||||
if ( this.components && this.components.length > 0) {
|
||||
this.setBounds(this.components[0].getBounds());
|
||||
for (var i = 1; i < this.components.length; i++) {
|
||||
for (var i=1, len=this.components.length; i<len; i++) {
|
||||
this.extendBounds(this.components[i].getBounds());
|
||||
}
|
||||
}
|
||||
@@ -125,7 +125,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
if(!(components instanceof Array)) {
|
||||
components = [components];
|
||||
}
|
||||
for(var i=0; i < components.length; i++) {
|
||||
for(var i=0, len=components.length; i<len; i++) {
|
||||
this.addComponent(components[i]);
|
||||
}
|
||||
},
|
||||
@@ -209,7 +209,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
getLength: function() {
|
||||
var length = 0.0;
|
||||
for (var i = 0; i < this.components.length; i++) {
|
||||
for (var i=0, len=this.components.length; i<len; i++) {
|
||||
length += this.components[i].getLength();
|
||||
}
|
||||
return length;
|
||||
@@ -225,7 +225,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
getArea: function() {
|
||||
var area = 0.0;
|
||||
for (var i = 0; i < this.components.length; i++) {
|
||||
for (var i=0, len=this.components.length; i<len; i++) {
|
||||
area += this.components[i].getArea();
|
||||
}
|
||||
return area;
|
||||
@@ -240,7 +240,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
* y - {Float} The y-displacement (in map units)
|
||||
*/
|
||||
move: function(x, y) {
|
||||
for(var i = 0; i < this.components.length; i++) {
|
||||
for(var i=0, len=this.components.length; i<len; i++) {
|
||||
this.components[i].move(x, y);
|
||||
}
|
||||
},
|
||||
@@ -255,7 +255,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
* origin - {<OpenLayers.Geometry.Point>} Center point for the rotation
|
||||
*/
|
||||
rotate: function(angle, origin) {
|
||||
for(var i=0; i<this.components.length; ++i) {
|
||||
for(var i=0, len=this.components.length; i<len; ++i) {
|
||||
this.components[i].rotate(angle, origin);
|
||||
}
|
||||
},
|
||||
@@ -298,7 +298,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
(geometry.components.length != this.components.length)) {
|
||||
equivalent = false;
|
||||
} else {
|
||||
for(var i=0; i<this.components.length; ++i) {
|
||||
for(var i=0, len=this.components.length; i<len; ++i) {
|
||||
if(!this.components[i].equals(geometry.components[i])) {
|
||||
equivalent = false;
|
||||
break;
|
||||
@@ -321,7 +321,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
transform: function(source, dest) {
|
||||
if (source && dest) {
|
||||
for (var i = 0; i < this.components.length; i++) {
|
||||
for (var i=0, len=this.components.length; i<len; i++) {
|
||||
var component = this.components[i];
|
||||
component.transform(source, dest);
|
||||
}
|
||||
@@ -341,7 +341,7 @@ OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry, {
|
||||
*/
|
||||
intersects: function(geometry) {
|
||||
var intersect = false;
|
||||
for(var i=0; i<this.components.length; ++ i) {
|
||||
for(var i=0, len=this.components.length; i<len; ++ i) {
|
||||
intersect = geometry.intersects(this.components[i]);
|
||||
if(intersect) {
|
||||
break;
|
||||
|
||||
@@ -45,7 +45,7 @@ OpenLayers.Geometry.Curve = OpenLayers.Class(OpenLayers.Geometry.MultiPoint, {
|
||||
getLength: function() {
|
||||
var length = 0.0;
|
||||
if ( this.components && (this.components.length > 1)) {
|
||||
for(var i=1; i < this.components.length; i++) {
|
||||
for(var i=1, len=this.components.length; i<len; i++) {
|
||||
length += this.components[i-1].distanceTo(this.components[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,13 +78,13 @@ OpenLayers.Geometry.LineString = OpenLayers.Class(OpenLayers.Geometry.Curve, {
|
||||
var seg1, seg1x1, seg1x2, seg1y1, seg1y2,
|
||||
seg2, seg2y1, seg2y2;
|
||||
// sweep right
|
||||
outer: for(var i=0; i<segs1.length; ++i) {
|
||||
outer: for(var i=0, len=segs1.length; i<len; ++i) {
|
||||
seg1 = segs1[i];
|
||||
seg1x1 = seg1.x1;
|
||||
seg1x2 = seg1.x2;
|
||||
seg1y1 = seg1.y1;
|
||||
seg1y2 = seg1.y2;
|
||||
inner: for(var j=0; j<segs2.length; ++j) {
|
||||
inner: for(var j=0, jlen=segs2.length; j<jlen; ++j) {
|
||||
seg2 = segs2[j];
|
||||
if(seg2.x1 > seg1x2) {
|
||||
// seg1 still left of seg2
|
||||
|
||||
@@ -116,7 +116,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
* y - {Float} The y-displacement (in map units)
|
||||
*/
|
||||
move: function(x, y) {
|
||||
for(var i = 0; i < this.components.length - 1; i++) {
|
||||
for(var i = 0, len=this.components.length; i<len - 1; i++) {
|
||||
this.components[i].move(x, y);
|
||||
}
|
||||
},
|
||||
@@ -131,7 +131,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
* origin - {<OpenLayers.Geometry.Point>} Center point for the rotation
|
||||
*/
|
||||
rotate: function(angle, origin) {
|
||||
for(var i=0; i<this.components.length - 1; ++i) {
|
||||
for(var i=0, len=this.components.length; i<len - 1; ++i) {
|
||||
this.components[i].rotate(angle, origin);
|
||||
}
|
||||
},
|
||||
@@ -150,7 +150,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
* ratio - {Float} Optional x:y ratio for resizing. Default ratio is 1.
|
||||
*/
|
||||
resize: function(scale, origin, ratio) {
|
||||
for(var i=0; i<this.components.length - 1; ++i) {
|
||||
for(var i=0, len=this.components.length; i<len - 1; ++i) {
|
||||
this.components[i].resize(scale, origin, ratio);
|
||||
}
|
||||
},
|
||||
@@ -168,7 +168,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
*/
|
||||
transform: function(source, dest) {
|
||||
if (source && dest) {
|
||||
for (var i = 0; i < this.components.length - 1; i++) {
|
||||
for (var i=0, len=this.components.length; i<len - 1; i++) {
|
||||
var component = this.components[i];
|
||||
component.transform(source, dest);
|
||||
}
|
||||
@@ -188,7 +188,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
var area = 0.0;
|
||||
if ( this.components && (this.components.length > 2)) {
|
||||
var sum = 0.0;
|
||||
for (var i = 0; i < this.components.length - 1; i++) {
|
||||
for (var i=0, len=this.components.length; i<len - 1; i++) {
|
||||
var b = this.components[i];
|
||||
var c = this.components[i+1];
|
||||
sum += (b.x + c.x) * (c.y - b.y);
|
||||
@@ -309,7 +309,7 @@ OpenLayers.Geometry.LinearRing = OpenLayers.Class(
|
||||
);
|
||||
} else {
|
||||
// check for component intersections
|
||||
for(var i=0; i<geometry.components.length; ++ i) {
|
||||
for(var i=0, len=geometry.components.length; i<len; ++ i) {
|
||||
intersect = geometry.components[i].intersects(this);
|
||||
if(intersect) {
|
||||
break;
|
||||
|
||||
@@ -52,7 +52,7 @@ OpenLayers.Geometry.Polygon = OpenLayers.Class(
|
||||
var area = 0.0;
|
||||
if ( this.components && (this.components.length > 0)) {
|
||||
area += Math.abs(this.components[0].getArea());
|
||||
for (var i = 1; i < this.components.length; i++) {
|
||||
for (var i=1, len=this.components.length; i<len; i++) {
|
||||
area -= Math.abs(this.components[i].getArea());
|
||||
}
|
||||
}
|
||||
@@ -112,13 +112,13 @@ OpenLayers.Geometry.Polygon = OpenLayers.Class(
|
||||
*/
|
||||
intersects: function(geometry) {
|
||||
var intersect = false;
|
||||
var i;
|
||||
var i, len;
|
||||
if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
|
||||
intersect = this.containsPoint(geometry);
|
||||
} else if(geometry.CLASS_NAME == "OpenLayers.Geometry.LineString" ||
|
||||
geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
|
||||
// check if rings/linestrings intersect
|
||||
for(i=0; i<this.components.length; ++i) {
|
||||
for(i=0, len=this.components.length; i<len; ++i) {
|
||||
intersect = geometry.intersects(this.components[i]);
|
||||
if(intersect) {
|
||||
break;
|
||||
@@ -126,7 +126,7 @@ OpenLayers.Geometry.Polygon = OpenLayers.Class(
|
||||
}
|
||||
if(!intersect) {
|
||||
// check if this poly contains points of the ring/linestring
|
||||
for(i=0; i<geometry.components.length; ++i) {
|
||||
for(i=0, len=geometry.components.length; i<len; ++i) {
|
||||
intersect = this.containsPoint(geometry.components[i]);
|
||||
if(intersect) {
|
||||
break;
|
||||
@@ -134,7 +134,7 @@ OpenLayers.Geometry.Polygon = OpenLayers.Class(
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for(i=0; i<geometry.components.length; ++ i) {
|
||||
for(i=0, len=geometry.components.length; i<len; ++ i) {
|
||||
intersect = this.intersects(geometry.components[i]);
|
||||
if(intersect) {
|
||||
break;
|
||||
@@ -145,7 +145,7 @@ OpenLayers.Geometry.Polygon = OpenLayers.Class(
|
||||
if(!intersect && geometry.CLASS_NAME == "OpenLayers.Geometry.Polygon") {
|
||||
// exterior ring points will be contained in the other geometry
|
||||
var ring = this.components[0];
|
||||
for(i=0; i<ring.components.length; ++i) {
|
||||
for(i=0, len=ring.components.length; i<len; ++i) {
|
||||
intersect = geometry.containsPoint(ring.components[i]);
|
||||
if(intersect) {
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user