コード例 #1
0
  private PlanningContext prepareNewContext(PlanningContext context, Rel subtask) {

    PlanningContext newContext = context.getCopy();
    // [x->y] assume x is known
    Set<Var> allSubtaskInputs = new LinkedHashSet<Var>();
    unfoldVarsToSet(subtask.getInputs(), allSubtaskInputs);
    newContext.getKnownVars().addAll(allSubtaskInputs);
    newContext.getFoundVars().addAll(allSubtaskInputs);
    Set<Var> goals = new LinkedHashSet<Var>();
    unfoldVarsToSet(subtask.getOutputs(), goals);
    newContext.addGoals(goals);
    return newContext;
  }