static Goal FinalAnchor(Goal goal) { if (goal.Replacements ().Any ()) { // todo shall be single return FinalAnchor (goal.Replacements ().First ().AnchorGoal ()); } return goal; }
public void Render(Goal g, KAOSModel model) { Render (g); // Exceptions foreach (var e in g.Exceptions ()) { if (!shapes.ContainsKey (e.ResolvingGoalIdentifier)) Render (e.ResolvingGoal()); Render (e); } // Replacements foreach (var e in g.Replacements ()) { if (!shapes.ContainsKey (e.AnchorGoalIdentifier)) Render (e.AnchorGoal ()); Render (e); } // Provided foreach (var e in g.Provided ()) { if (!shapes.ContainsKey (e.ResolvedObstacleIdentifier)) Render (e.Obstacle ()); Render (e); } // Context refinements /* foreach (var r in g.ParentRefinements ().Union (g.Refinements ())) { if (!shapes.ContainsKey (r.ParentGoalIdentifier)) { Render (r.ParentGoal ()); } foreach (var sg in r.SubGoals ()) { if (!shapes.ContainsKey (sg.Identifier)) { Render (sg); } } Render (r); } */ }
public void Render(Goal g, KAOSModel model) { Render (g); foreach (var e in g.Replacements ()) { Render (e.AnchorGoal ()); Render (e); } foreach (var r in g.ParentRefinements ().Union (g.Refinements ())) { if (!shapes.ContainsKey (r.ParentGoalIdentifier)) { Render (r.ParentGoal ()); } foreach (var sg in r.SubGoals ()) { if (!shapes.ContainsKey (sg.Identifier)) { Render (sg); } } Render (r); } }