Exemple #1
0
        /// <summary>
        /// Processes signal and returns a sequence of strings to print on screen
        /// </summary>
        /// <param name="signal"></param>
        /// <param name="unit"></param>
        /// <returns></returns>
        private IEnumerable <string> ProcessSignal(IPhasorDomainSignal signal, string unit)
        {
            // For each phasor in the signal
            foreach (var phasor in signal.Phasors)
            {
                // Start with description of the source
                var infoString = "Source: \"" + phasor.Key.Label.Label + "\" produces ";

                // Then, depending on the category
                switch (phasor.Key.FrequencyCategory)
                {
                case FrequencyCategory.DC:
                {
                    infoString += SIHelpers.ToAltSIStringExcludingSmallPrefixes(phasor.Value, unit, _RoundToDigit) + " DC";
                } break;

                case FrequencyCategory.AC:
                {
                    infoString += SIHelpers.ToAltSIStringExcludingSmallPrefixes(phasor.Value, unit, _RoundToDigit) + " AC";
                }
                break;
                }

                yield return(infoString);
            }
        }
        /// <summary>
        /// Copies internal state of <paramref name="obj"/> to this instance
        /// </summary>
        /// <param name="obj"></param>
        /// <exception cref="ArgumentNullException"></exception>
        public void Copy(IPhasorDomainSignal obj)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            // Clear the phasors and add obj's elements to it
            _Phasors.Clear();
            obj.Phasors.ForEach((x) => AddPhasorHelper(x.Key, x.Value));
        }
Exemple #3
0
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <exception cref="ArgumentNullException"></exception>
 public PhasorDomainSignalMutable(IPhasorDomainSignal signal) : base(signal)
 {
 }
Exemple #4
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="signal"></param>
 /// <exception cref="ArgumentNullException"></exception>
 public PhasorDomainSignalViewModel(IPhasorDomainSignal signal, string unit)
 {
     DisplayText = ProcessSignal(
         signal ?? throw new ArgumentNullException(nameof(signal)),
         unit ?? throw new ArgumentNullException(nameof(unit)));
 }
Exemple #5
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="Signal">Signal being interpreted</param>
 /// <exception cref="ArgumentNullException">Thrown if <paramref name="Signal"/> is null</exception>
 public PhasorDomainSignalInterpreter(IPhasorDomainSignal Signal)
 {
     _Signal = Signal ?? throw new ArgumentNullException(nameof(Signal));
 }
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <exception cref="ArgumentNullException"></exception>
 public PhasorDomainSignal(IPhasorDomainSignal signal) : this()
 {
     Copy(signal ?? throw new ArgumentNullException(nameof(signal)));
 }