//--------------------------------------------------------------------- /// <summary> /// Adds a new cohort for a particular species. /// </summary> public void AddNewCohort(ISpecies species, ushort initialBiomass) { if (isDebugEnabled) { log.DebugFormat(" add cohort: {0}, initial biomass = {1}; site biomass = {2}", species.Name, initialBiomass, totalBiomass); } bool speciesPresent = false; for (int i = 0; i < cohorts.Count; i++) { SpeciesCohorts speciesCohorts = cohorts[i]; if (speciesCohorts.Species == species) { speciesCohorts.AddNewCohort(initialBiomass); speciesPresent = true; break; } } if (!speciesPresent) { cohorts.Add(new SpeciesCohorts(species, initialBiomass)); } totalBiomass += initialBiomass; }
//--------------------------------------------------------------------- /// <summary> /// Initializes a new instance for a set of species cohorts. /// </summary> public OldToYoungIterator(SpeciesCohorts cohorts) { this.cohorts = cohorts; this.nextIndex = 0; this.currentCohortDied = false; MoveNext(); }
//--------------------------------------------------------------------- /// <summary> /// Creates a copy of a species' cohorts. /// </summary> public SpeciesCohorts Clone() { SpeciesCohorts clone = new SpeciesCohorts(this.species); clone.cohortData = new List <CohortData>(this.cohortData); clone.isMaturePresent = this.isMaturePresent; return(clone); }
//--------------------------------------------------------------------- /// <summary> /// Initializes a new instance for a set of species cohorts. /// </summary> public OldToYoungIterator(SpeciesCohorts cohorts) { this.cohorts = cohorts; this.currentCohortAge = cohorts[0]; this.index = 0; this.nextIndex = 0; // In case MoveNext is called before 1st call // to GrowCurrentCohort. }
//--------------------------------------------------------------------- private SpeciesCohorts GetCohorts(ISpecies species) { for (int i = 0; i < cohorts.Count; i++) { SpeciesCohorts speciesCohorts = cohorts[i]; if (speciesCohorts.Species == species) { return(speciesCohorts); } } return(null); }
//--------------------------------------------------------------------- public bool IsMaturePresent(ISpecies species) { for (int i = 0; i < cohorts.Count; i++) { SpeciesCohorts speciesCohorts = cohorts[i]; if (speciesCohorts.Species == species) { return(speciesCohorts.IsMaturePresent); } } return(false); }
//--------------------------------------------------------------------- public ISpeciesCohorts <ICohort> this[ISpecies species] { get { for (int i = 0; i < cohorts.Count; i++) { SpeciesCohorts speciesCohorts = cohorts[i]; if (speciesCohorts.Species == species) { return(speciesCohorts); } } return(null); } }
//--------------------------------------------------------------------- /// <summary> /// Adds a new cohort for a particular species. /// </summary> public void AddNewCohort(ISpecies species, ushort initialBiomass) { for (int i = 0; i < cohorts.Count; i++) { SpeciesCohorts speciesCohorts = cohorts[i]; if (speciesCohorts.Species == species) { speciesCohorts.AddNewCohort(initialBiomass); return; } } // Species not present at the site. cohorts.Add(new SpeciesCohorts(species, initialBiomass)); }