// used for initialization public TimelineDecomposition(IOperator core, List <IPredicate> literals, List <Tuple <IPlanStep, IPlanStep> > fcntgs, List <Tuple <CamPlanStep, CamPlanStep> > dcntgs, List <Tuple <string, Tuple <PlanStep, PlanStep> > > fconstraints, List <Tuple <string, Tuple <CamPlanStep, CamPlanStep> > > dconstraints, List <IPlanStep> substeps, List <CamPlanStep> camSteps, List <Tuple <IPlanStep, IPlanStep> > suborderings, List <Tuple <CamPlanStep, CamPlanStep> > dOrderings, List <CausalLink <IPlanStep> > sublinks, List <CausalLink <CamPlanStep> > dLinks, Dictionary <string, PlanStep> fabulaStepVariableNameDictionary) : base(core, literals, substeps, suborderings, sublinks) { fabCntgs = fcntgs; discCntgs = dcntgs; fabConstraints = fconstraints; discourseSubSteps = camSteps; discConstraints = dconstraints; discOrderings = dOrderings; discLinks = dLinks; fabulaActionNameMap = fabulaStepVariableNameDictionary; // to be updated after grounding or adding connectives InitialCamAction = discourseSubSteps[0]; FinalCamAction = discourseSubSteps[discourseSubSteps.Count - 1]; // to beupdated after grounding regular actions InitialActionSeg = InitialCamAction.TargetDetails.ActionSegs[0]; FinalActionSeg = FinalCamAction.TargetDetails.ActionSegs[FinalCamAction.TargetDetails.ActionSegs.Count - 1]; // to be instantiated after grounding actions InitialAction = new PlanStep(); FinalAction = new PlanStep(); }
public TimelineDecomposition() : base() { fabCntgs = new List <Tuple <IPlanStep, IPlanStep> >(); discCntgs = new List <Tuple <CamPlanStep, CamPlanStep> >(); discourseSubSteps = new List <CamPlanStep>(); InitialActionSeg = new ActionSeg(); FinalActionSeg = new ActionSeg(); InitialAction = new PlanStep(); FinalAction = new PlanStep(); InitialCamAction = new CamPlanStep(); FinalCamAction = new CamPlanStep(); }