private void SolveObject(ModelObject obj) { obj.Solve(this); mPendingObjects.Remove(obj); mSolvedObjects.Add(obj.Name, obj); }
public void Add(ModelObject obj) { if (obj == null) throw new ArgumentException("Model: cannot add a null modelObject"); mObjects.Add(obj.Name, obj); }
private bool IsReadyToSolve(ModelObject obj) { var inputs = obj.GetNeededInputs(); if (inputs == null || inputs.Count == 0) return true; foreach (var i in inputs) { if (!mSolvedObjects.ContainsKey(i)) return false; } return true; }
private void MoveObjectToEnd(ModelObject obj) { mPendingObjects.Remove(obj); mPendingObjects.Add(obj); }