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];
 }
Example #3
0
function scheduleNodeChangeFromPara(para, change) {
	if (!para || ! util.isDef(para.nodes)) return;	
	change.withNodeChange(para.nodes);
};