lib/Map/TableStructure.js
function createClock(timeColumn, tableStructure) {
  var availabilityCollection = new TimeIntervalCollection();
  timeColumn._timeIntervals
    .filter(function(availability) {
      return defined(availability && availability.start);
    })
    .forEach(function(availability) {
      availabilityCollection.addInterval(availability);
    });
  if (!defined(timeColumn._clock)) {
    if (
      availabilityCollection.length > 0 &&
      !availabilityCollection.start.equals(Iso8601.MINIMUM_VALUE)
    ) {
      var startTime = availabilityCollection.start;
      var stopTime = availabilityCollection.stop;
      var totalSeconds = JulianDate.secondsDifference(stopTime, startTime);
      var multiplier = Math.round(totalSeconds / 120.0);

      if (
        defined(tableStructure.idColumnNames) &&
        tableStructure.idColumnNames.length > 0
      ) {
        stopTime = timeColumn.julianDates.reduce((d1, d2) =>
          JulianDate.greaterThan(d1, d2) ? d1 : d2
        );
      }

      var clock = new DataSourceClock();
      clock.startTime = JulianDate.clone(startTime);
      clock.stopTime = JulianDate.clone(stopTime);
      clock.clockRange = ClockRange.LOOP_STOP;
      clock.multiplier = multiplier;
      clock.currentTime = JulianDate.clone(startTime);
      clock.clockStep = ClockStep.SYSTEM_CLOCK_MULTIPLIER;
      return clock;
    }
  }
  return timeColumn._clock;
}
function createClock(timeColumn, tableStructure) {
  var availabilityCollection = new TimeIntervalCollection();
  timeColumn._timeIntervals
    .filter(function(availability) {
      return defined(availability && availability.start);
    })
    .forEach(function(availability) {
      availabilityCollection.addInterval(availability);
    });
  if (!defined(timeColumn._clock)) {
    if (
      availabilityCollection.length > 0 &&
      !availabilityCollection.start.equals(Iso8601.MINIMUM_VALUE)
    ) {
      var startTime = availabilityCollection.start;
      var stopTime = availabilityCollection.stop;
      var totalSeconds = JulianDate.secondsDifference(stopTime, startTime);
      var multiplier = Math.round(totalSeconds / 120.0);

      if (
        defined(tableStructure.idColumnNames) &&
        tableStructure.idColumnNames.length > 0
      ) {
        stopTime = timeColumn.julianDates.reduce((d1, d2) =>
          JulianDate.greaterThan(d1, d2) ? d1 : d2
        );
      }

      var clock = new DataSourceClock();
      clock.startTime = JulianDate.clone(startTime);
      clock.stopTime = JulianDate.clone(stopTime);
      clock.clockRange = ClockRange.LOOP_STOP;
      clock.multiplier = multiplier;
      clock.currentTime = JulianDate.clone(startTime);
      clock.clockStep = ClockStep.SYSTEM_CLOCK_MULTIPLIER;
      return clock;
    }
  }
  return timeColumn._clock;
}
function createClock ( timeColumn , tableStructure ) { var availabilityCollection = new TimeIntervalCollection ( ) ; timeColumn . _timeIntervals . filter ( function ( availability ) { return defined ( availability && availability . start ) ; } ) . forEach ( function ( availability ) { availabilityCollection . addInterval ( availability ) ; } ) ; if ( ! defined ( timeColumn . _clock ) ) { if ( availabilityCollection . length > 0 && ! availabilityCollection . start . equals ( Iso8601 . MINIMUM_VALUE ) ) { var startTime = availabilityCollection . start ; var stopTime = availabilityCollection . stop ; var totalSeconds = JulianDate . secondsDifference ( stopTime , startTime ) ; var multiplier = Math . round ( totalSeconds / 120.0 ) ; if ( defined ( tableStructure . idColumnNames ) && tableStructure . idColumnNames . length > 0 ) { stopTime = timeColumn . julianDates . reduce ( ( d1 , d2 ) => JulianDate . greaterThan ( d1 , d2 ) ? d1 : d2 ) ; } var clock = new DataSourceClock ( ) ; clock . startTime = JulianDate . clone ( startTime ) ; clock . stopTime = JulianDate . clone ( stopTime ) ; clock . clockRange = ClockRange . LOOP_STOP ; clock . multiplier = multiplier ; clock . currentTime = JulianDate . clone ( startTime ) ; clock . clockStep = ClockStep . SYSTEM_CLOCK_MULTIPLIER ; return clock ; } } return timeColumn . _clock ; }
Returns a DataSourceClock out of this column. Only call if this is a time column.
@private
Returns a DataSourceClock out of this column . Only call if this is a time column .