[OpenLayers-Commits] r12417 -
sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers
commits-20090109 at openlayers.org
commits-20090109 at openlayers.org
Tue Sep 27 10:50:34 EDT 2011
Author: mpriour
Date: 2011-09-27 07:50:28 -0700 (Tue, 27 Sep 2011)
New Revision: 12417
Added:
sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeAgent.js
Removed:
sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeHandler.js
sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeHandler/
Log:
Rename TimeHandlers to TimeAgents
Added: sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeAgent.js
===================================================================
--- sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeAgent.js (rev 0)
+++ sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeAgent.js 2011-09-27 14:50:28 UTC (rev 12417)
@@ -0,0 +1,138 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
+ * full list of contributors). Published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+
+/**
+ * @requires OpenLayers/Control/TimeManager.js
+ */
+
+/**
+ * Class: OpenLayers.TimeAgent.WMS
+ * Class to display and animate WMS layers across time.
+ * This class is created by {OpenLayers.Control.TimeManager} instances
+ *
+ * Inherits From:
+ * - <OpenLayers.Class>
+ */
+OpenLayers.TimeAgent = OpenLayers.Class({
+ /**
+ * Property: timeManager
+ * {<OpenLayers.Control.TimeManager>}
+ */
+ timeManager:null,
+ /**
+ * Property: canTick
+ * {Boolean}
+ */
+ canTick:true,
+ /**
+ * Property: intervals
+ * {Array(Date)}
+ */
+ intervals:null,
+ /**
+ * Property: range
+ * {Array(Date)}
+ */
+ range:null,
+ /**
+ * Property: layers
+ * {Array(<OpenLayers.Layer>)}
+ */
+ layers:null,
+ /**
+ * Constructor: OpenLayers.Control.TimeManager
+ * Create a new time manager control for temporal layers.
+ *
+ * Parameters:
+ * options - {Object} Optional object whose properties will be set on the
+ * control.
+ */
+ initialize:function(options){
+ this.events = new OpenLayers.Events(this, null);
+ OpenLayers.Util.extend(this,options||{});
+ if(this.eventListeners instanceof Object) {
+ this.events.on(this.eventListeners);
+ }
+ if (this.layers) {
+ var timeConfig = this.buildRangeAndIntervals(this.layers);
+ this.range = timeConfig.range;
+ this.intervals = timeConfig.intervals;
+ }
+ },
+ destroy:function(){
+ this.events.destroy();
+ this.timeManager.events.unregister('tick',this.timeManager,this.onTick);
+ this.timeManager = this.layers = this.range = this.intervals = null;
+ },
+ onTick:function(){
+ //Implemented By Subclasses
+ },
+ addLayer: function(layer){
+ this.layers = (!this.layers)?[layer]:this.layers.concat(layer);
+ var timeInterval = layer.metadata.timeInterval;
+ if (timeInterval.length == 2) {
+ if (timeInterval[0] < this.range[0]) {this.range[0] = new Date(timeInterval[0].getDate())}
+ if (timeInterval[1] > this.range[1]) {this.range[1] = new Date(timeInterval[1].getDate())}
+ }
+ else {
+ var timeConfig = this.buildRangeAndIntervals(this.layers);
+ this.range = timeConfig.range;
+ this.intervals = timeConfig.intervals;
+ }
+ },
+ removeLayer:function(layer){
+ for(var i=0,len=this.layers.length;i<length;i++){
+ if(layer==this.layers[i]){
+ this.layers.splice(i,1);
+ break;
+ }
+ }
+ var timeInterval = layer.metadata.timeInterval;
+ /*if we only had a range and this layer wasn't one of the end points
+ then we don't need to do anything, otherwise we might as well rebuild
+ the range & intervals*/
+ if(this.intervals || timeInterval[0].getTime() == this.range[0].getTime() || timeInterval[1].getTime() == this.range[1].getTime()){
+ var timeConfig = this.buildRangeAndIntervals(this.layers);
+ this.range = timeConfig.range;
+ this.intervals = timeConfig.intervals;
+ }
+ },
+ buildRangeAndIntervals:function(layers){
+ var range = [], intervals=[];
+ for(var i=0,len=layers.length;i<len;i++){
+ var timeInterval = (layers[i].metadata)?layers[i].metadata.timeInterval:null;
+ if (timeInterval) {
+ for (var j = 0; j < timeInterval.length; j++) {
+ if (!(timeInterval[j] instanceof Date)) {
+ timeInterval[j] = OpenLayers.Date.parse(timeInterval[j])
+ }
+ }
+ if (timeInterval.length == 2) {
+ if (!range[0] || timeInterval[0] < range[0]) {range[0] = timeInterval[0];}
+ if (!range[1] || timeInterval[1] > range[1]) {range[1] = timeInterval[1];}
+ }
+ else if (timeInterval.length > 2) {
+ for (var j = 0; j < timeInterval.length; j++) {
+ if (OpenLayers.Util.indexOf(intervals, timeInterval[j]) == -1) {
+ intervals.push(timeInterval[j])
+ }
+ }
+ }
+ }
+ }
+ if(intervals.length){
+ intervals = this.timeManager.getUniqueDates(intervals);
+ var last = intervals.length-1;
+ if (!range[0] || intervals[0] < range[0]) {range[0] = intervals[0];}
+ if (!range[1] || intervals[last] > range[1]) {range[1] = intervals[last];}
+ }else{
+ intervals=null;
+ }
+ return {'range':range,'intervals':intervals}
+ },
+
+ CLASS_NAME:'OpenLayers.TimeAgent'
+});
\ No newline at end of file
Deleted: sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeHandler.js
===================================================================
--- sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeHandler.js 2011-09-27 14:35:25 UTC (rev 12416)
+++ sandbox/mpriour/temporal_map/openlayers/lib/OpenLayers/TimeHandler.js 2011-09-27 14:50:28 UTC (rev 12417)
@@ -1,138 +0,0 @@
-/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the Clear BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
- * full text of the license. */
-
-
-/**
- * @requires OpenLayers/Control/TimeManager.js
- */
-
-/**
- * Class: OpenLayers.TimeHandler.WMS
- * Class to display and animate WMS layers across time.
- * This class is created by {OpenLayers.Control.TimeManager} instances
- *
- * Inherits From:
- * - <OpenLayers.Class>
- */
-OpenLayers.TimeHandler = OpenLayers.Class({
- /**
- * Property: timeManager
- * {<OpenLayers.Control.TimeManager>}
- */
- timeManager:null,
- /**
- * Property: canTick
- * {Boolean}
- */
- canTick:true,
- /**
- * Property: intervals
- * {Array(Date)}
- */
- intervals:null,
- /**
- * Property: range
- * {Array(Date)}
- */
- range:null,
- /**
- * Property: layers
- * {Array(<OpenLayers.Layer>)}
- */
- layers:null,
- /**
- * Constructor: OpenLayers.Control.TimeManager
- * Create a new time manager control for temporal layers.
- *
- * Parameters:
- * options - {Object} Optional object whose properties will be set on the
- * control.
- */
- initialize:function(options){
- this.events = new OpenLayers.Events(this, null);
- OpenLayers.Util.extend(this,options||{});
- if(this.eventListeners instanceof Object) {
- this.events.on(this.eventListeners);
- }
- if (this.layers) {
- var timeConfig = this.buildRangeAndIntervals(this.layers);
- this.range = timeConfig.range;
- this.intervals = timeConfig.intervals;
- }
- },
- destroy:function(){
- this.events.destroy();
- this.timeManager.events.unregister('tick',this.timeManager,this.onTick);
- this.timeManager = this.layers = this.range = this.intervals = null;
- },
- onTick:function(){
- //Implemented By Subclasses
- },
- addLayer: function(layer){
- this.layers = (!this.layers)?[layer]:this.layers.concat(layer);
- var timeInterval = layer.metadata.timeInterval;
- if (timeInterval.length == 2) {
- if (timeInterval[0] < this.range[0]) {this.range[0] = new Date(timeInterval[0].getDate())}
- if (timeInterval[1] > this.range[1]) {this.range[1] = new Date(timeInterval[1].getDate())}
- }
- else {
- var timeConfig = this.buildRangeAndIntervals(this.layers);
- this.range = timeConfig.range;
- this.intervals = timeConfig.intervals;
- }
- },
- removeLayer:function(layer){
- for(var i=0,len=this.layers.length;i<length;i++){
- if(layer==this.layers[i]){
- this.layers.splice(i,1);
- break;
- }
- }
- var timeInterval = layer.metadata.timeInterval;
- /*if we only had a range and this layer wasn't one of the end points
- then we don't need to do anything, otherwise we might as well rebuild
- the range & intervals*/
- if(this.intervals || timeInterval[0].getTime() == this.range[0].getTime() || timeInterval[1].getTime() == this.range[1].getTime()){
- var timeConfig = this.buildRangeAndIntervals(this.layers);
- this.range = timeConfig.range;
- this.intervals = timeConfig.intervals;
- }
- },
- buildRangeAndIntervals:function(layers){
- var range = [], intervals=[];
- for(var i=0,len=layers.length;i<len;i++){
- var timeInterval = (layers[i].metadata)?layers[i].metadata.timeInterval:null;
- if (timeInterval) {
- for (var j = 0; j < timeInterval.length; j++) {
- if (!(timeInterval[j] instanceof Date)) {
- timeInterval[j] = OpenLayers.Date.parse(timeInterval[j])
- }
- }
- if (timeInterval.length == 2) {
- if (!range[0] || timeInterval[0] < range[0]) {range[0] = timeInterval[0];}
- if (!range[1] || timeInterval[1] > range[1]) {range[1] = timeInterval[1];}
- }
- else if (timeInterval.length > 2) {
- for (var j = 0; j < timeInterval.length; j++) {
- if (OpenLayers.Util.indexOf(intervals, timeInterval[j]) == -1) {
- intervals.push(timeInterval[j])
- }
- }
- }
- }
- }
- if(intervals.length){
- intervals = this.timeManager.getUniqueDates(intervals);
- var last = intervals.length-1;
- if (!range[0] || intervals[0] < range[0]) {range[0] = intervals[0];}
- if (!range[1] || intervals[last] > range[1]) {range[1] = intervals[last];}
- }else{
- intervals=null;
- }
- return {'range':range,'intervals':intervals}
- },
-
- CLASS_NAME:'OpenLayers.TimeHandler'
-});
\ No newline at end of file
More information about the Commits
mailing list