Merge pull request #2107 from tschaub/null-or-undef

Account for null or undefined geometry.
This commit is contained in:
Tim Schaub
2014-05-23 16:30:33 -06:00
6 changed files with 11 additions and 11 deletions

View File

@@ -115,7 +115,7 @@ ol.interaction.DragAndDrop.prototype.handleResult_ = function(file, result) {
for (j = 0, jj = readFeatures.length; j < jj; ++j) {
var feature = readFeatures[j];
var geometry = feature.getGeometry();
if (!goog.isNull(geometry)) {
if (goog.isDefAndNotNull(geometry)) {
geometry.applyTransform(transform);
}
features.push(feature);

View File

@@ -96,7 +96,7 @@ ol.render.Box.prototype.disposeInternal = function() {
*/
ol.render.Box.prototype.handleMapPostCompose_ = function(event) {
var geometry = this.geometry_;
goog.asserts.assert(!goog.isNull(geometry));
goog.asserts.assert(goog.isDefAndNotNull(geometry));
var style = this.style_;
goog.asserts.assert(!goog.isNull(style));
// use drawAsync(Infinity) to draw above everything

View File

@@ -462,7 +462,7 @@ ol.render.canvas.Immediate.prototype.drawCircleGeometry =
*/
ol.render.canvas.Immediate.prototype.drawFeature = function(feature, style) {
var geometry = feature.getGeometry();
if (goog.isNull(geometry) ||
if (!goog.isDefAndNotNull(geometry) ||
!ol.extent.intersects(this.extent_, geometry.getExtent())) {
return;
}

View File

@@ -105,7 +105,7 @@ ol.renderer.vector.renderFeature = function(
ol.renderer.vector.renderFeature_ = function(
replayGroup, feature, style, squaredTolerance, data) {
var geometry = feature.getGeometry();
if (goog.isNull(geometry)) {
if (!goog.isDefAndNotNull(geometry)) {
return;
}
var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance);

View File

@@ -125,7 +125,7 @@ ol.source.FormatVector.prototype.readFeatures = function(source) {
for (i = 0, ii = features.length; i < ii; ++i) {
var feature = features[i];
var geometry = feature.getGeometry();
if (!goog.isNull(geometry)) {
if (goog.isDefAndNotNull(geometry)) {
geometry.applyTransform(transform);
}
}

View File

@@ -110,11 +110,11 @@ ol.source.Vector.prototype.addFeatureInternal = function(feature) {
this.handleFeatureChange_, false, this)
];
var geometry = feature.getGeometry();
if (goog.isNull(geometry)) {
this.nullGeometryFeatures_[goog.getUid(feature).toString()] = feature;
} else {
if (goog.isDefAndNotNull(geometry)) {
var extent = geometry.getExtent();
this.rBush_.insert(extent, feature);
} else {
this.nullGeometryFeatures_[goog.getUid(feature).toString()] = feature;
}
this.dispatchEvent(
new ol.source.VectorEvent(ol.source.VectorEventType.ADDFEATURE, feature));
@@ -183,7 +183,7 @@ ol.source.Vector.prototype.forEachFeatureAtCoordinate =
var extent = [coordinate[0], coordinate[1], coordinate[0], coordinate[1]];
return this.forEachFeatureInExtent(extent, function(feature) {
var geometry = feature.getGeometry();
goog.asserts.assert(!goog.isNull(geometry));
goog.asserts.assert(goog.isDefAndNotNull(geometry));
if (geometry.containsCoordinate(coordinate)) {
return f.call(opt_this, feature);
} else {
@@ -284,7 +284,7 @@ ol.source.Vector.prototype.getClosestFeatureToCoordinate =
*/
function(feature) {
var geometry = feature.getGeometry();
goog.asserts.assert(!goog.isNull(geometry));
goog.asserts.assert(goog.isDefAndNotNull(geometry));
var previousMinSquaredDistance = minSquaredDistance;
minSquaredDistance = geometry.closestPointXY(
x, y, closestPoint, minSquaredDistance);
@@ -322,7 +322,7 @@ ol.source.Vector.prototype.handleFeatureChange_ = function(event) {
var feature = /** @type {ol.Feature} */ (event.target);
var featureKey = goog.getUid(feature).toString();
var geometry = feature.getGeometry();
if (goog.isNull(geometry)) {
if (!goog.isDefAndNotNull(geometry)) {
if (!(featureKey in this.nullGeometryFeatures_)) {
this.rBush_.remove(feature);
this.nullGeometryFeatures_[featureKey] = feature;