コード例 #1
0
        public int MarkCohorts(SpeciesCohorts speciescohort, AgeOnlyCohorts.ISpeciesCohortsDisturbance disturbance)
        {
            Landis.Library.AgeOnlyCohorts.SpeciesCohortBoolArray isSpeciesCohortDamaged = new AgeOnlyCohorts.SpeciesCohortBoolArray();

            isSpeciesCohortDamaged.SetAllFalse(speciescohort.Count);
            disturbance.MarkCohortsForDeath(speciescohort, isSpeciesCohortDamaged);

            //  Go backwards through list of cohort data, so the removal of an
            //  item doesn't mess up the loop.
            int totalReduction = 0;

            for (int i = speciescohort.Count - 1; i >= 0; i--)
            {
                if (isSpeciesCohortDamaged[i])
                {
                    totalReduction += speciescohort[i].Biomass;

                    Landis.Library.BiomassCohorts.Cohort.KilledByAgeOnlyDisturbance(speciescohort, speciescohort[i], disturbance.CurrentSite, disturbance.Type);

                    Cohort.Died(speciescohort, speciescohort[i], disturbance.CurrentSite, disturbance.Type);

                    cohorts.Remove(speciescohort[i]);
                }
            }
            return(totalReduction);
        }
コード例 #2
0
        //---------------------------------------------------------------------

        static SpeciesCohorts()
        {
            isSpeciesCohortDamaged = new AgeOnlyCohorts.SpeciesCohortBoolArray();
        }