public ISignalGenerator Create(ModuleType moduleType, ISignalModuleContext moduleContext)
 {
     switch (moduleType)
       {
     case ModuleType.Pulse:
       return new PulseSinusGenerator(moduleContext, pulseVisualContext);
     case ModuleType.Press:
       return new PressSinusGenerator(moduleContext, pressVisualContext);
     case ModuleType.Ecg:
       return new EcgFourierGenerator(moduleContext);
     default:
       return new NullSignalGenerator(moduleContext);
       }
 }
 public SignalGeneratorBase(ISignalModuleContext moduleContext)
 {
     ModuleContext = moduleContext;
       ResultantSignals = new int[ModuleContext.ChannelCount];
 }
 public PulseSinusGenerator(ISignalModuleContext moduleContext, IPulseVisualContext visualContext)
     : base(moduleContext)
 {
     this.visualContext = visualContext;
 }
        public PressSinusGenerator(ISignalModuleContext moduleContext, IPressVisualContext visualContext)
            : base(moduleContext)
        {
            this.visualContext = visualContext;

              // Проинициализируем внутреннее состояние.
              currentValue = 0;
              currentDecrease = decreaseForGateOff;
              currentIncrease = increaseForPumpOff;
        }
 public NullSignalGenerator(ISignalModuleContext moduleContext)
     : base(moduleContext)
 {
 }
 public EcgFourierGenerator(ISignalModuleContext moduleContext)
     : base(moduleContext)
 {
 }