示例#1
0
        private void ExpandTransitionAdjacencyMultipliers(STSimDistributionBaseExpander expander)
        {
            if (this.m_TransitionAdjacencyMultipliers.Count > 0)
            {
                IEnumerable <STSimDistributionBase> NewItems = expander.Expand(this.m_TransitionAdjacencyMultipliers);

                this.m_TransitionAdjacencyMultipliers.Clear();

                foreach (TransitionAdjacencyMultiplier t in NewItems)
                {
                    this.m_TransitionAdjacencyMultipliers.Add(t);
                }
            }
        }
示例#2
0
        private void ExpandStateAttributeValues(STSimDistributionBaseExpander expander)
        {
            if (this.m_StateAttributeValues.Count > 0)
            {
                IEnumerable <STSimDistributionBase> NewItems = expander.Expand(this.m_StateAttributeValues);

                this.m_StateAttributeValues.Clear();

                foreach (StateAttributeValue t in NewItems)
                {
                    this.m_StateAttributeValues.Add(t);
                }
            }
        }
示例#3
0
        private void ExpandTransitionAttributeTargets(STSimDistributionBaseExpander expander)
        {
            if (this.m_TransitionAttributeTargets.Count > 0)
            {
                IEnumerable <STSimDistributionBase> NewItems = expander.Expand(this.m_TransitionAttributeTargets);

                this.m_TransitionAttributeTargets.Clear();

                foreach (TransitionAttributeTarget t in NewItems)
                {
                    this.m_TransitionAttributeTargets.Add(t);
                }
            }
        }
示例#4
0
        /// <summary>
        /// If a collection item (a.) references a user distribution value, and (b.) has a NULL
        /// for stratum and/or secondary stratum then we want to replace that item with an "expanded"
        /// set of items with explicit values based on the contents of the distribution value collection.
        ///
        /// NOTE: The expanded set of records should contain only unique combinations of stratum and
        ///       secondary stratum, null-able values inclusive.
        /// </summary>
        /// <remarks></remarks>
        private void NormalizeForUserDistributions()
        {
            if (this.m_DistributionProvider.Values.Count > 0)
            {
                STSimDistributionBaseExpander Expander = new STSimDistributionBaseExpander(this.m_DistributionProvider);

                this.ExpandStateAttributeValues(Expander);
                this.ExpandTransitionAttributeValues(Expander);
                this.ExpandTransitionTargets(Expander);
                this.ExpandTransitionAttributeTargets(Expander);
                this.ExpandTransitionMultipliers(Expander);
                this.ExpandTransitionDirectionMultipliers(Expander);
                this.ExpandTransitionSlopeMultipliers(Expander);
                this.ExpandTransitionAdjacencyMultipliers(Expander);
            }
        }