public static EventModel GetEventModel(this PlanningParser.EventModelContext context, IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment) { EventModel result = new EventModel(context, eventDict, assignment); return(result); }
public EventModel(PlanningParser.EventModelContext context, IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment) { MaxPlausibilityDegree = context.LB() == null ? 0 : 1; GenerateEventArray(context, eventDict, assignment); GenerateBelievePrecondition(); GenerateBelievePssa(); GenerateKnowPrecondition(); GenerateKnowPssa(); }
private void GenerateEventArray(PlanningParser.EventModelContext context, IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment) { if (MaxPlausibilityDegree == 0) { _believeEventArray = context.gdEvent().ToEventCollection(eventDict, assignment); _knowEventArray = _believeEventArray; } else { _believeEventArray = context.plGdEvent(0).gdEvent().ToEventCollection(eventDict, assignment); var eventArray1 = context.plGdEvent(1).gdEvent().ToEventCollection(eventDict, assignment); int eventArray0Length = _believeEventArray.Length; int eventArray1Length = eventArray1.Length; _knowEventArray = new Event[eventArray0Length + eventArray1Length]; Array.Copy(_believeEventArray, _knowEventArray, eventArray0Length); Array.Copy(eventArray1, 0, _knowEventArray, eventArray0Length, eventArray1Length); } }