Class TimeExpressionRelative

java.lang.Object
gov.nasa.jpl.aerie.scheduler.constraints.timeexpressions.TimeExpressionRelative
Direct Known Subclasses:
TimeExpressionRelativeBefore, TimeExpressionRelativeBinary, TimeExpressionRelativeSimple

public abstract class TimeExpressionRelative extends Object
class allowing to define dynamic expressions of timepoints, relative to time anchors
  • Field Details

  • Constructor Details

    • TimeExpressionRelative

      public TimeExpressionRelative()
  • Method Details

    • computeTime

      public abstract gov.nasa.jpl.aerie.constraints.time.Interval computeTime(gov.nasa.jpl.aerie.constraints.model.SimulationResults simulationResults, Plan plan, gov.nasa.jpl.aerie.constraints.time.Interval interval)
      A TimeExpressionRelative must implement this method
      Parameters:
      plan - the current plan
      interval - the range on which the relative time expression must be computed
      Returns:
      a range of valid times satisfying the expression
    • getAnchor

      public abstract Optional<TimeAnchor> getAnchor()
    • extractResources

      public abstract void extractResources(Set<String> names)
    • fromAnchor

      public static TimeExpressionRelative fromAnchor(TimeAnchor anchor)
    • addOperation

      public void addOperation(TimeUtility.Operator operator, gov.nasa.jpl.aerie.merlin.protocol.types.Duration operand)
    • atStart

      public static TimeExpressionRelative atStart()
    • offsetByAfterStart

      public static TimeExpressionRelative offsetByAfterStart(gov.nasa.jpl.aerie.merlin.protocol.types.Duration dur)
    • offsetByBeforeStart

      public static TimeExpressionRelative offsetByBeforeStart(gov.nasa.jpl.aerie.merlin.protocol.types.Duration dur)
    • offsetByAfterEnd

      public static TimeExpressionRelative offsetByAfterEnd(gov.nasa.jpl.aerie.merlin.protocol.types.Duration dur)
    • offsetByBeforeEnd

      public static TimeExpressionRelative offsetByBeforeEnd(gov.nasa.jpl.aerie.merlin.protocol.types.Duration dur)
    • beforeEnd

      public static TimeExpressionRelative beforeEnd()
    • beforeStart

      public static TimeExpressionRelative beforeStart()
    • afterEnd

      public static TimeExpressionRelative afterEnd()
    • afterStart

      public static TimeExpressionRelative afterStart()
    • endsBefore

      public static TimeExpressionRelative endsBefore(TimeExpressionRelative expr)