コード例 #1
0
		public void InitializeElements()
		{

			_animationBloodPumpEnabled = (Storyboard)Resources["BloodPumpEnabled"];
			_animationHeparinPumpEnabled = (Storyboard)Resources["HeparinPumpEnabled"];
			_animationEnableWaterPreparation = (Storyboard)Resources["EnableWaterPreparation"];
			_animationDisableWaterPreparation = (Storyboard)Resources["DisableWaterPreparation"];
			_animationDialyzingFluidPreparationEnabled = (Storyboard)Resources["DialyzingFluidPreparationEnabled"];
			_animationUltraFiltrationEnabled = (Storyboard)Resources["UltraFiltrationEnabled"];
			_animationPumpToBalanceChamberEnabled = (Storyboard)Resources["PumpToBalanceChamberEnabled"];
			_animationCloseVenousTubingValve = (Storyboard)Resources["CloseVenousTubingValve"];
			_animationOpenVenousTubingValve = (Storyboard)Resources["OpenVenousTubingValve"];
			_animationArterialChamberDripping = (Storyboard)Resources["ArterialChamberDripping"];
			_animationVenousChamberDripping = (Storyboard)Resources["VenousChamberDripping"];
			_animationArterialChamberNotDripping = (Storyboard)Resources["ArterialChamberNotDripping"];
			_animationVenousChamberNotDripping = (Storyboard)Resources["VenousChamberNotDripping"];
			
			VisualFlows = new VisualFlow[]
			{
				new VisualFlow("FlowPatientToBloodPump",(Storyboard)Resources["FlowPatientToBloodPump"],selectFlowPatientToBloodPump,() => Patient.ArteryFlow.Outgoing),
				new VisualFlow("FlowBloodPumpToMerge1",(Storyboard)Resources["FlowBloodPumpToMerge1"],selectFlowBloodPumpToMerge1,() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.MainFlow.Outgoing),
				new VisualFlow("FlowMerge1ToArterialChamber",(Storyboard)Resources["FlowMerge1ToArterialChamber"],selectFlowMerge1ToArterialChamber,() => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Incoming),
				new VisualFlow("FlowArterialChamberToDialyzer",(Storyboard)Resources["FlowArterialChamberToDialyzer"],selectFlowArterialChamberToDialyzer,() => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Outgoing),
				new VisualFlow("FlowDialyzerBloodSideToSplit2",(Storyboard)Resources["FlowDialyzerBloodSideToSplit2"],selectFlowDialyzerBloodSideToSplit2,() => Machine.Dialyzer.BloodFlow.Outgoing),
				new VisualFlow("FlowSplit2ToVenousChamber",(Storyboard)Resources["FlowSplit2ToVenousChamber"],selectFlowSplit2ToVenousChamber,() => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Incoming),
				new VisualFlow("FlowVenousChamberToSafetyDetector",(Storyboard)Resources["FlowVenousChamberToSafetyDetector"],selectFlowVenousChamberToSafetyDetector,() => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Outgoing),
				new VisualFlow("FlowSafetySensorToVenousValve",(Storyboard)Resources["FlowSafetySensorToVenousValve"],selectFlowSafetySensorToVenousValve,() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.MainFlow.Outgoing),
				new VisualFlow("FlowVenousValveToPatient",(Storyboard)Resources["FlowVenousValveToPatient"],selectFlowVenousValveToPatient,() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.MainFlow.Outgoing),
				new VisualFlow("FlowWaterSupplyToWaterPreparation",(Storyboard)Resources["FlowWaterSupplyToWaterPreparation"],selectFlowWaterSupplyToWaterPreparation,() => Machine.DialyzingFluidDeliverySystem.WaterSupply.MainFlow.Outgoing),
				new VisualFlow("FlowWaterPreparationToDialyzingFluidPreparation",(Storyboard)Resources["FlowWaterPreparationToDialyzingFluidPreparation"],selectFlowWaterPreparationToDialyzingFluidPreparation,() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.MainFlow.Outgoing),
				new VisualFlow("FlowDialyzingFluidPreparationToBalanceChamber",(Storyboard)Resources["FlowDialyzingFluidPreparationToBalanceChamber"],selectFlowDialyzingFluidPreparationToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidFlow.Outgoing),
				new VisualFlow("FlowBalanceChamberToDrain",(Storyboard)Resources["FlowBalanceChamberToDrain"],selectFlowBalanceChamberToDrain,() => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardUsedFlowSegment.Outgoing),
				new VisualFlow("FlowBalanceChamberToSafetyBypass",(Storyboard)Resources["FlowBalanceChamberToSafetyBypass"],selectFlowBalanceChamberToSafetyBypass,() => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardProducedFlowSegment.Outgoing),
				new VisualFlow("FlowSafetyBypassToDialyzer",(Storyboard)Resources["FlowSafetyBypassToDialyzer"],selectFlowSafetyBypassToDialyzer,() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.MainFlow.Outgoing),
				new VisualFlow("FlowSafetyBypassToDrain",(Storyboard)Resources["FlowSafetyBypassToDrain"],selectFlowSafetyBypassToDrain,() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.DrainFlow.Outgoing),
				new VisualFlow("FlowDialyzerDialyzingFluidSideToSplit3",(Storyboard)Resources["FlowDialyzerDialyzingFluidSideToSplit3"],selectFlowDialyzerDialyzingFluidSideToSplit3,() => Machine.Dialyzer.DialyzingFluidFlow.Outgoing),
				new VisualFlow("FlowSplit3ToPumpToBalanceChamber",(Storyboard)Resources["FlowSplit3ToPumpToBalanceChamber"],selectFlowSplit3ToPumpToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Incoming),
				new VisualFlow("FlowSplit3ToUltraFiltrationPump",(Storyboard)Resources["FlowSplit3ToUltraFiltrationPump"],selectFlowSplit3ToUltraFiltrationPump,() => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Incoming),
				new VisualFlow("FlowPumpToBalanceChamberToBalanceChamber",(Storyboard)Resources["FlowPumpToBalanceChamberToBalanceChamber"],selectFlowPumpToBalanceChamberToBalanceChamber,() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Outgoing),
				new VisualFlow("FlowUltraFiltrationPumpToDrain",(Storyboard)Resources["FlowUltraFiltrationPumpToDrain"],selectFlowUltraFiltrationPumpToDrain,() => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Outgoing),
			};

			// Add custom buttons
			foreach (var visualFlow in VisualFlows)
			{
				var rectangle = visualFlow.SelectionRectangle;
				rectangle.MouseLeftButtonDown += SelectModelElement;
				SelectedModelElementToVisualFlow.Add(visualFlow.SelectionRectangle,visualFlow);
			}

			VisualFaults = new VisualFault[]
			{
				new VisualFault(() => Machine.Dialyzer.DialyzerMembraneRupturesFault,buttonFaultDialyzer),
				new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.ValveDoesNotClose,buttonFaultVenousValve),
				new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.SafetyDetectorDefect,buttonFaultSafetyDetector),
				new VisualFault(() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.WaterHeaterDefect,buttonFaultWaterPreparation),
				new VisualFault(() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.BloodPumpDefect,buttonFaultBloodPump),
				new VisualFault(() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidPreparationPumpDefect,buttonFaultDialyzingFluidPreparation),
				new VisualFault(() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.SafetyBypassFault,buttonFaultSafetyBypass),
				new VisualFault(() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.PumpDefect,buttonFaultPumpToBalanceChamber),
			};
		}
コード例 #2
0
        public void InitializeElements()
        {
            _animationBloodPumpEnabled                 = (Storyboard)Resources["BloodPumpEnabled"];
            _animationHeparinPumpEnabled               = (Storyboard)Resources["HeparinPumpEnabled"];
            _animationEnableWaterPreparation           = (Storyboard)Resources["EnableWaterPreparation"];
            _animationDisableWaterPreparation          = (Storyboard)Resources["DisableWaterPreparation"];
            _animationDialyzingFluidPreparationEnabled = (Storyboard)Resources["DialyzingFluidPreparationEnabled"];
            _animationUltraFiltrationEnabled           = (Storyboard)Resources["UltraFiltrationEnabled"];
            _animationPumpToBalanceChamberEnabled      = (Storyboard)Resources["PumpToBalanceChamberEnabled"];
            _animationCloseVenousTubingValve           = (Storyboard)Resources["CloseVenousTubingValve"];
            _animationOpenVenousTubingValve            = (Storyboard)Resources["OpenVenousTubingValve"];
            _animationArterialChamberDripping          = (Storyboard)Resources["ArterialChamberDripping"];
            _animationVenousChamberDripping            = (Storyboard)Resources["VenousChamberDripping"];
            _animationArterialChamberNotDripping       = (Storyboard)Resources["ArterialChamberNotDripping"];
            _animationVenousChamberNotDripping         = (Storyboard)Resources["VenousChamberNotDripping"];

            VisualFlows = new VisualFlow[]
            {
                new VisualFlow("FlowPatientToBloodPump", (Storyboard)Resources["FlowPatientToBloodPump"], selectFlowPatientToBloodPump, () => Patient.ArteryFlow.Outgoing),
                new VisualFlow("FlowBloodPumpToMerge1", (Storyboard)Resources["FlowBloodPumpToMerge1"], selectFlowBloodPumpToMerge1, () => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.MainFlow.Outgoing),
                new VisualFlow("FlowMerge1ToArterialChamber", (Storyboard)Resources["FlowMerge1ToArterialChamber"], selectFlowMerge1ToArterialChamber, () => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Incoming),
                new VisualFlow("FlowArterialChamberToDialyzer", (Storyboard)Resources["FlowArterialChamberToDialyzer"], selectFlowArterialChamberToDialyzer, () => Machine.ExtracorporealBloodCircuit.ArterialChamber.MainFlow.Outgoing),
                new VisualFlow("FlowDialyzerBloodSideToSplit2", (Storyboard)Resources["FlowDialyzerBloodSideToSplit2"], selectFlowDialyzerBloodSideToSplit2, () => Machine.Dialyzer.BloodFlow.Outgoing),
                new VisualFlow("FlowSplit2ToVenousChamber", (Storyboard)Resources["FlowSplit2ToVenousChamber"], selectFlowSplit2ToVenousChamber, () => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Incoming),
                new VisualFlow("FlowVenousChamberToSafetyDetector", (Storyboard)Resources["FlowVenousChamberToSafetyDetector"], selectFlowVenousChamberToSafetyDetector, () => Machine.ExtracorporealBloodCircuit.VenousChamber.MainFlow.Outgoing),
                new VisualFlow("FlowSafetySensorToVenousValve", (Storyboard)Resources["FlowSafetySensorToVenousValve"], selectFlowSafetySensorToVenousValve, () => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.MainFlow.Outgoing),
                new VisualFlow("FlowVenousValveToPatient", (Storyboard)Resources["FlowVenousValveToPatient"], selectFlowVenousValveToPatient, () => Machine.ExtracorporealBloodCircuit.VenousTubingValve.MainFlow.Outgoing),
                new VisualFlow("FlowWaterSupplyToWaterPreparation", (Storyboard)Resources["FlowWaterSupplyToWaterPreparation"], selectFlowWaterSupplyToWaterPreparation, () => Machine.DialyzingFluidDeliverySystem.WaterSupply.MainFlow.Outgoing),
                new VisualFlow("FlowWaterPreparationToDialyzingFluidPreparation", (Storyboard)Resources["FlowWaterPreparationToDialyzingFluidPreparation"], selectFlowWaterPreparationToDialyzingFluidPreparation, () => Machine.DialyzingFluidDeliverySystem.WaterPreparation.MainFlow.Outgoing),
                new VisualFlow("FlowDialyzingFluidPreparationToBalanceChamber", (Storyboard)Resources["FlowDialyzingFluidPreparationToBalanceChamber"], selectFlowDialyzingFluidPreparationToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidFlow.Outgoing),
                new VisualFlow("FlowBalanceChamberToDrain", (Storyboard)Resources["FlowBalanceChamberToDrain"], selectFlowBalanceChamberToDrain, () => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardUsedFlowSegment.Outgoing),
                new VisualFlow("FlowBalanceChamberToSafetyBypass", (Storyboard)Resources["FlowBalanceChamberToSafetyBypass"], selectFlowBalanceChamberToSafetyBypass, () => Machine.DialyzingFluidDeliverySystem.BalanceChamber.ForwardProducedFlowSegment.Outgoing),
                new VisualFlow("FlowSafetyBypassToDialyzer", (Storyboard)Resources["FlowSafetyBypassToDialyzer"], selectFlowSafetyBypassToDialyzer, () => Machine.DialyzingFluidDeliverySystem.SafetyBypass.MainFlow.Outgoing),
                new VisualFlow("FlowSafetyBypassToDrain", (Storyboard)Resources["FlowSafetyBypassToDrain"], selectFlowSafetyBypassToDrain, () => Machine.DialyzingFluidDeliverySystem.SafetyBypass.DrainFlow.Outgoing),
                new VisualFlow("FlowDialyzerDialyzingFluidSideToSplit3", (Storyboard)Resources["FlowDialyzerDialyzingFluidSideToSplit3"], selectFlowDialyzerDialyzingFluidSideToSplit3, () => Machine.Dialyzer.DialyzingFluidFlow.Outgoing),
                new VisualFlow("FlowSplit3ToPumpToBalanceChamber", (Storyboard)Resources["FlowSplit3ToPumpToBalanceChamber"], selectFlowSplit3ToPumpToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Incoming),
                new VisualFlow("FlowSplit3ToUltraFiltrationPump", (Storyboard)Resources["FlowSplit3ToUltraFiltrationPump"], selectFlowSplit3ToUltraFiltrationPump, () => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Incoming),
                new VisualFlow("FlowPumpToBalanceChamberToBalanceChamber", (Storyboard)Resources["FlowPumpToBalanceChamberToBalanceChamber"], selectFlowPumpToBalanceChamberToBalanceChamber, () => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.MainFlow.Outgoing),
                new VisualFlow("FlowUltraFiltrationPumpToDrain", (Storyboard)Resources["FlowUltraFiltrationPumpToDrain"], selectFlowUltraFiltrationPumpToDrain, () => Machine.DialyzingFluidDeliverySystem.DialyzingUltraFiltrationPump.MainFlow.Outgoing),
            };

            // Add custom buttons
            foreach (var visualFlow in VisualFlows)
            {
                var rectangle = visualFlow.SelectionRectangle;
                rectangle.MouseLeftButtonDown += SelectModelElement;
                SelectedModelElementToVisualFlow.Add(visualFlow.SelectionRectangle, visualFlow);
            }

            VisualFaults = new VisualFault[]
            {
                new VisualFault(() => Machine.Dialyzer.DialyzerMembraneRupturesFault, buttonFaultDialyzer),
                new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousTubingValve.ValveDoesNotClose, buttonFaultVenousValve),
                new VisualFault(() => Machine.ExtracorporealBloodCircuit.VenousSafetyDetector.SafetyDetectorDefect, buttonFaultSafetyDetector),
                new VisualFault(() => Machine.DialyzingFluidDeliverySystem.WaterPreparation.WaterHeaterDefect, buttonFaultWaterPreparation),
                new VisualFault(() => Machine.ExtracorporealBloodCircuit.ArterialBloodPump.BloodPumpDefect, buttonFaultBloodPump),
                new VisualFault(() => Machine.DialyzingFluidDeliverySystem.DialyzingFluidPreparation.DialyzingFluidPreparationPumpDefect, buttonFaultDialyzingFluidPreparation),
                new VisualFault(() => Machine.DialyzingFluidDeliverySystem.SafetyBypass.SafetyBypassFault, buttonFaultSafetyBypass),
                new VisualFault(() => Machine.DialyzingFluidDeliverySystem.PumpToBalanceChamber.PumpDefect, buttonFaultPumpToBalanceChamber),
            };
        }