mixin.make = function(obj) { util.assert(util.isSomething(obj), "obj: must not be null or undefined"); util.assert(typeof obj === "object", "obj: expected an object, got {0}", obj); function normalizeLat(obj,name) { util.assert(util.isDef(obj[name]), "{0}: missing mandatory property", name); util.assert(util.isNumber(obj[name]), "{0}: expected a number, got {1}", name, obj[name]); util.assert(LatLon.isValidLat(obj[name]), "{0}: expected a valid lat, got {1}", name, obj[name]); return obj[name]; } function normalizeLon(obj,name) { util.assert(util.isDef(obj[name]), "{0}: missing mandatory property", name); util.assert(util.isNumber(obj[name]), "{0}: expected a number, got {1}", name, obj[name]); util.assert(LatLon.isValidLon(obj[name]), "{0}: expected a valid lon, got {1}", name, obj[name]); return obj[name]; } if (util.isDef(obj.minlat)) { var minlat = normalizeLat(obj.minlat); var minlon = normalizeLat(obj.minlon); var maxlat = normalizeLat(obj.maxlat); var maxlon = normalizeLat(obj.maxlon); return new Bounds(minlat, minlon, maxlat, maxlon); } else if (util.isDef(obj.min)) { var min = LatLon.make(obj.min); var max = LatLon.make(obj.max); return new Bounds(min,max); } else { util.assert(false, "obj: expected an object {min:.., max:..} or {minlat:, maxlat:, minlon:, maxlon:}, got {0}", obj); } };
function normalizeLon(obj,name) { util.assert(util.isDef(obj[name]), "{0}: missing mandatory property", name); util.assert(util.isNumber(obj[name]), "{0}: expected a number, got {1}", name, obj[name]); util.assert(LatLon.isValidLon(obj[name]), "{0}: expected a valid lon, got {1}", name, obj[name]); return obj[name]; }
function scheduleNodeChangeFromPara(para, change) { if (!para || ! util.isDef(para.nodes)) return; change.withNodeChange(para.nodes); };