MATSIM
ActivityDurationUtils.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2008 by the members listed in the COPYING, *
7  * LICENSE and WARRANTY file. *
8  * email : info at matsim dot org *
9  * *
10  * *********************************************************************** *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * See also COPYING, LICENSE and WARRANTY file *
17  * *
18  * *********************************************************************** */
19 
20 package org.matsim.core.mobsim.qsim.agents;
21 
26 
27 public class ActivityDurationUtils {
28 
40  public static double calculateDepartureTime(Activity act, double now, PlansConfigGroup.ActivityDurationInterpretation activityDurationInterpretation) {
41  OptionalTime endTime = PopulationUtils.decideOnActivityEndTime(act, now, activityDurationInterpretation);
42  if (endTime.isUndefined()) {
43  return Double.POSITIVE_INFINITY;
44  } else {
45  // we cannot depart before we arrived, thus change the time so the time stamp in events will be right
46  // [[how can events not use the simulation time? kai, aug'10]]
47  // actually, we will depart in (now+1) because we already missed the departing in this time step
48  return Math.max(endTime.seconds(), now);
49  }
50  }
51 }
static OptionalTime decideOnActivityEndTime(Activity act, double now, Config config)
static double calculateDepartureTime(Activity act, double now, PlansConfigGroup.ActivityDurationInterpretation activityDurationInterpretation)