/// <summary> /// Checks which nutrient fields required by this cell definition are missing /// from the given environment. Returns a list of the names of the missing /// nutrient fields. If none are missing, it returns an empty list. /// </summary> /// <param name="env"></param> /// <returns></returns> public List<String> MissingNutriendFields(Environment env) { TestRigs.ErrorLog.LogError("Checking missing nutrient fields for this celldef: " ); List<String> missing = new List<String>(); if (this.sbmlModel.listOfComponents != null) { foreach (SBML.ExtracellularComponents.ComponentBase component in this.sbmlModel.listOfComponents) { TestRigs.ErrorLog.LogError("Here's a component in the list"); foreach (String nutName in component.GetRequiredNutrientFieldNames()) { TestRigs.ErrorLog.LogError("Missing : " + nutName); if (env.GetNutrientByName(nutName) == null) { missing.Add(nutName); } } } } else { TestRigs.ErrorLog.LogError("Component list null"); } return missing; }
/// <summary> /// Links the nutrient fields in the given environment to /// this component /// </summary> /// <param name="env"></param> public override void LinkToNutrientFields(Environment env) { nutrientIndex = -1; nutrientIndex = env.GetNutrientByName(nutrientName).Index; }